net: asix: add AX88772B support
authorLucas Stach <dev@lynxeye.de>
Wed, 22 Aug 2012 11:05:01 +0000 (11:05 +0000)
committerJoe Hershberger <joe.hershberger@ni.com>
Wed, 26 Sep 2012 17:36:31 +0000 (12:36 -0500)
commit1dff9d0f54a0cec2dfda6022862bbdc38ba97d77
tree32be55b46ff9f43788596192d0211b289a123e64
parent02c8d8cc6e52b29deabab179e365281131316cf1
net: asix: add AX88772B support

Add AX88772B ID together with two fixes needed to make this work.

1. The packet length check has to be adjusted, as all ASIX chips
only use 11 bits to indicate the length. AX88772B uses the other
bits to indicate unrelated things, which cause the check to fail.
This fix is based on a fix for the Linux kernel by Marek Vasut.
Linux upstream commit: bca0beb9363f8487ac902931a50eb00180a2d14a

2. AX88772B provides several bulk endpoints. Only the first
IN/OUT endpoints work in the default configuration. So stop
enumeration after we found them to avoid overwriting the
endpoint config with a non-working one.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Reviewed-by: Marek Vasut <marex@denx.de>
Acked-by: Marek Vasut <marex@denx.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
drivers/usb/eth/asix.c