
When receiving large fragmented packets, the ASIX 88179A can drop packets due to an insufficient URB buffer size. This change adjusts the URB buffer size to match the configuration used in the Linux kernel, resolving packet drop issues observed when performing TFTP with a 16KB block size.
Signed-off-by: Khoa Hoang admin@khoahoang.com --- drivers/usb/eth/asix88179.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/usb/eth/asix88179.c b/drivers/usb/eth/asix88179.c index a856aa2d..647a85a5 100644 --- a/drivers/usb/eth/asix88179.c +++ b/drivers/usb/eth/asix88179.c @@ -192,10 +192,10 @@ static const struct { unsigned char ctrl, timer_l, timer_h, size, ifg; } AX88179_BULKIN_SIZE[] = { - {7, 0x4f, 0, 0x02, 0xff}, - {7, 0x20, 3, 0x03, 0xff}, - {7, 0xae, 7, 0x04, 0xff}, - {7, 0xcc, 0x4c, 0x04, 8}, + {7, 0x4f, 0, 0x12, 0xff}, + {7, 0x20, 3, 0x16, 0xff}, + {7, 0xae, 7, 0x18, 0xff}, + {7, 0xcc, 0x4c, 0x18, 8}, };
/* driver private */ @@ -311,7 +311,7 @@ static int asix_basic_reset(struct ueth_data *dev, memcpy(tmp, &AX88179_BULKIN_SIZE[0], 5); asix_write_cmd(dev, AX_ACCESS_MAC, AX_RX_BULKIN_QCTRL, 5, 5, tmp);
- dev_priv->rx_urb_size = 128 * 20; + dev_priv->rx_urb_size = 1024 * 20;
/* Water Level configuration */ *tmp = 0x34;