net: usb: smsc95xx: fix reset_resume handling

When suspending and resuming the smsc95xx chip will sometimes
get into a bad state and a bus reset will occur.  This will cause
the usbnet driver to get stuck in a loop where URBs are returned
immediately and new SKBs are allocated consuming all of kernel
memory.

This change causes the smsc95xx driver to be unbound and rebound
on a bus reset.  This will cause the chip to be properly
reinitialized and it can recover from the bus reset.

Bug: 15350518

Change-Id: Ieade367b41453ebbc9b797d050a0510b4effb0bd
Signed-off-by: Adam Hampson <ahampson@google.com>
1 file changed