rt2x00: Clean up USB vendor request buffer functions.
There is no need to force the separation between a buffer USB vendor request that does fit the CSR cache and one that doesn't onto the callers. This is something that the rt2x00usb_vendor_request_buff function can figure out by itself. Combine the rt2x00usb_vendor_request_buff and rt2x00usb_vendor_request_large_buff functions into a single one, as both of them were equivalent for small buffers anyway. Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com> Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
This commit is contained in:
committed by
Ivo van Doorn
parent
a903ae004a
commit
96b61bafe2
@@ -270,7 +270,6 @@ static int rt73usb_config_shared_key(struct rt2x00_dev *rt2x00dev,
|
||||
{
|
||||
struct hw_key_entry key_entry;
|
||||
struct rt2x00_field32 field;
|
||||
int timeout;
|
||||
u32 mask;
|
||||
u32 reg;
|
||||
|
||||
@@ -306,12 +305,8 @@ static int rt73usb_config_shared_key(struct rt2x00_dev *rt2x00dev,
|
||||
sizeof(key_entry.rx_mic));
|
||||
|
||||
reg = SHARED_KEY_ENTRY(key->hw_key_idx);
|
||||
timeout = REGISTER_TIMEOUT32(sizeof(key_entry));
|
||||
rt2x00usb_vendor_request_large_buff(rt2x00dev, USB_MULTI_WRITE,
|
||||
USB_VENDOR_REQUEST_OUT, reg,
|
||||
&key_entry,
|
||||
sizeof(key_entry),
|
||||
timeout);
|
||||
rt2x00usb_register_multiwrite(rt2x00dev, reg,
|
||||
&key_entry, sizeof(key_entry));
|
||||
|
||||
/*
|
||||
* The cipher types are stored over 2 registers.
|
||||
@@ -372,7 +367,6 @@ static int rt73usb_config_pairwise_key(struct rt2x00_dev *rt2x00dev,
|
||||
{
|
||||
struct hw_pairwise_ta_entry addr_entry;
|
||||
struct hw_key_entry key_entry;
|
||||
int timeout;
|
||||
u32 mask;
|
||||
u32 reg;
|
||||
|
||||
@@ -407,17 +401,11 @@ static int rt73usb_config_pairwise_key(struct rt2x00_dev *rt2x00dev,
|
||||
sizeof(key_entry.rx_mic));
|
||||
|
||||
reg = PAIRWISE_KEY_ENTRY(key->hw_key_idx);
|
||||
timeout = REGISTER_TIMEOUT32(sizeof(key_entry));
|
||||
rt2x00usb_vendor_request_large_buff(rt2x00dev, USB_MULTI_WRITE,
|
||||
USB_VENDOR_REQUEST_OUT, reg,
|
||||
&key_entry,
|
||||
sizeof(key_entry),
|
||||
timeout);
|
||||
rt2x00usb_register_multiwrite(rt2x00dev, reg,
|
||||
&key_entry, sizeof(key_entry));
|
||||
|
||||
/*
|
||||
* Send the address and cipher type to the hardware register.
|
||||
* This data fits within the CSR cache size, so we can use
|
||||
* rt2x00usb_register_multiwrite() directly.
|
||||
*/
|
||||
memset(&addr_entry, 0, sizeof(addr_entry));
|
||||
memcpy(&addr_entry, crypto->address, ETH_ALEN);
|
||||
@@ -1092,11 +1080,7 @@ static int rt73usb_load_firmware(struct rt2x00_dev *rt2x00dev,
|
||||
/*
|
||||
* Write firmware to device.
|
||||
*/
|
||||
rt2x00usb_vendor_request_large_buff(rt2x00dev, USB_MULTI_WRITE,
|
||||
USB_VENDOR_REQUEST_OUT,
|
||||
FIRMWARE_IMAGE_BASE,
|
||||
data, len,
|
||||
REGISTER_TIMEOUT32(len));
|
||||
rt2x00usb_register_multiwrite(rt2x00dev, FIRMWARE_IMAGE_BASE, data, len);
|
||||
|
||||
/*
|
||||
* Send firmware request to device to load firmware,
|
||||
@@ -1548,10 +1532,8 @@ static void rt73usb_write_beacon(struct queue_entry *entry,
|
||||
* Write entire beacon with descriptor to register.
|
||||
*/
|
||||
beacon_base = HW_BEACON_OFFSET(entry->entry_idx);
|
||||
rt2x00usb_vendor_request_large_buff(rt2x00dev, USB_MULTI_WRITE,
|
||||
USB_VENDOR_REQUEST_OUT, beacon_base,
|
||||
entry->skb->data, entry->skb->len,
|
||||
REGISTER_TIMEOUT32(entry->skb->len));
|
||||
rt2x00usb_register_multiwrite(rt2x00dev, beacon_base,
|
||||
entry->skb->data, entry->skb->len);
|
||||
|
||||
/*
|
||||
* Enable beaconing again.
|
||||
|
Reference in New Issue
Block a user