On Mon, Jun 18, 2018 at 7:56 PM, Andrew Thomas <andrew.tho...@oracle.com> wrote: > This bug is the combination of dwc2 USB controller and lan78xx > USB ethernet controller, which is the combination in use on > the Raspberry Pi Model 3 B+. > > When the host attempts to receive a packet, but a packet has not > arrived, the lan78xx controller responds by setting BIR > (Bulk-In Empty Response) to NAK. Unfortunately, this hangs > the USB controller and requires the USB controller to > be reset. > > The fix proposed is to have the lan78xx controller respond > by setting BIR to ZLP. > > Signed-off-by: Andrew Thomas <andrew.tho...@oracle.com> Tested-by: Peter Robinson <pbrobin...@gmail.com>
Tested on the RPi 3B+ and certainly improves this situation a number of Fedora users have seen. > --- > drivers/usb/eth/lan78xx.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/eth/lan78xx.c b/drivers/usb/eth/lan78xx.c > index c5ff379..e8ee665 100644 > --- a/drivers/usb/eth/lan78xx.c > +++ b/drivers/usb/eth/lan78xx.c > @@ -296,7 +296,7 @@ static int lan78xx_basic_reset(struct usb_device *udev, > ret = lan7x_read_reg(udev, LAN78XX_USB_CFG0, &val); > if (ret) > return ret; > - val |= LAN78XX_USB_CFG0_BIR; > + val &= ~LAN78XX_USB_CFG0_BIR; > return lan7x_write_reg(udev, LAN78XX_USB_CFG0, val); > } > > -- > 1.8.3.1 > > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > https://lists.denx.de/listinfo/u-boot _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot