On Tue, 20 Jul 2021 22:21:11 +0100 Stuart Henderson <s...@spacehopper.org> wrote:
> On 2021/07/20 11:03, adrian...@fortix.com.ar wrote: > > >Description: > > The ure driver with the RTL8152 adapter does not respond if > > the device is UP before having ethernet link. The dmesg command > > displays the following lines when the error occurs: > > Oh I hit that the other day, forgot the silly thinkpad donlge and > tried a ure instead, but I didn't figure out that there was a way to > get it to work. RTL8153B in my case. > > ure0: RTL8153B (0x6010), address 00:e0:4c:38:2b:0f > rgephy0 at ure0 phy 0: RTL8251 PHY, rev. 0 > ure0: usb error on tx: IOERROR > ure0: usb error on tx: IN_PROGRESS > usb_insert_transfer: xfer=0xfffffd847bccd000 not free > ure0: usb error on tx: IOERROR > ure0: usb error on tx: IN_PROGRESS > usb_insert_transfer: xfer=0xfffffd847bccd230 not free > > On 2021/07/20 21:44, Marcus Glocker wrote: > > I don't have such a device here. But one reason could be that > > ure(4) isn't reading the link status correctly. Following a debug > > diff. If you could run it with the cable disconnected and then > > connected and send back the output please. > > It's not triggered, that function is only called if > (sc->ure_flags & URE_FLAG_8156). Oh right, I missed that. Then I guess the thing to be checked first is still; Is something setting 'sc->ure_flags |= URE_FLAG_LINK', and by that the the driver is queuing up packets in ure_start() while there is no link?