mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
Revert "mt76: usb: use full intermediate buffer in mt76u_copy"
This reverts commit 5e1e5b75d6.
This commit is contained in:
@@ -160,24 +160,19 @@ static void mt76u_copy(struct mt76_dev *dev, u32 offset,
|
||||
const void *data, int len)
|
||||
{
|
||||
struct mt76_usb *usb = &dev->usb;
|
||||
int ret, req_len;
|
||||
const u32 *val = data;
|
||||
int i, ret;
|
||||
|
||||
mutex_lock(&usb->usb_ctrl_mtx);
|
||||
do {
|
||||
req_len = min_t(int, len, sizeof(usb->data));
|
||||
|
||||
memcpy(usb->data, data, req_len);
|
||||
|
||||
for (i = 0; i < DIV_ROUND_UP(len, 4); i++) {
|
||||
put_unaligned(val[i], usb->data);
|
||||
ret = __mt76u_vendor_request(dev, MT_VEND_MULTI_WRITE,
|
||||
USB_DIR_OUT | USB_TYPE_VENDOR,
|
||||
0, offset, usb->data, req_len);
|
||||
0, offset + i * 4, usb->data,
|
||||
sizeof(u32));
|
||||
if (ret < 0)
|
||||
break;
|
||||
|
||||
data += req_len;
|
||||
offset += req_len;
|
||||
len -= req_len;
|
||||
} while (len > 0);
|
||||
}
|
||||
mutex_unlock(&usb->usb_ctrl_mtx);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user