Message ID | 1473472449-7109-1-git-send-email-marcel.ziswiler@toradex.com |
---|---|
State | Accepted |
Commit | cea6c8ce2327cfb41a13a8b8655e74dd18c2e6b7 |
Delegated to: | Marek Vasut |
Headers | show |
On Fri, Sep 9, 2016 at 8:54 PM, Marcel Ziswiler <marcel.ziswiler@toradex.com> wrote: > From: Alban Bedel <alban.bedel@avionic-design.de> > > Commit 147271209a9d ("net: asix: fix operation without eeprom") > added a special handling for ASIX 88772B that enable another > type of header. This break the driver in DM mode as the extra handling > needed in the receive path is missing. > > However this new header mode is not required and only seems to > increase the code complexity, so this patch revert this part of > commit 147271209a9d. > > This also reverts commit 41d1258aceb45b45f9e68f67a9c40f0afbc09dc9 > ("net: asix: Fix AX88772B when used with DriverModel") of late. > > Fixes: 147271209a9d ("net: asix: fix operation without eeprom") > > Signed-off-by: Alban Bedel <alban.bedel@avionic-design.de> > Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > --- > Please note that this also obsoletes the following patch sent earlier > as requested by Marek: > > [PATCH] Revert "net: asix: Fix AX88772B when used with DriverModel" > > Changes in v2: > - reverting the changes from Joshua's patch as well as suggested by > Marek Acked-by: Joe Hershberger <joe.hershberger@ni.com>
On 09/10/2016 03:54 AM, Marcel Ziswiler wrote: > From: Alban Bedel <alban.bedel@avionic-design.de> > > Commit 147271209a9d ("net: asix: fix operation without eeprom") > added a special handling for ASIX 88772B that enable another > type of header. This break the driver in DM mode as the extra handling > needed in the receive path is missing. > > However this new header mode is not required and only seems to > increase the code complexity, so this patch revert this part of > commit 147271209a9d. > > This also reverts commit 41d1258aceb45b45f9e68f67a9c40f0afbc09dc9 > ("net: asix: Fix AX88772B when used with DriverModel") of late. > > Fixes: 147271209a9d ("net: asix: fix operation without eeprom") > > Signed-off-by: Alban Bedel <alban.bedel@avionic-design.de> > Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > --- > Please note that this also obsoletes the following patch sent earlier > as requested by Marek: > > [PATCH] Revert "net: asix: Fix AX88772B when used with DriverModel" > > Changes in v2: > - reverting the changes from Joshua's patch as well as suggested by > Marek > > drivers/usb/eth/asix.c | 27 +++------------------------ > 1 file changed, 3 insertions(+), 24 deletions(-) > > diff --git a/drivers/usb/eth/asix.c b/drivers/usb/eth/asix.c > index a610ae4..1c6e967 100644 > --- a/drivers/usb/eth/asix.c > +++ b/drivers/usb/eth/asix.c > @@ -67,11 +67,8 @@ > AX_MEDIUM_AC | AX_MEDIUM_RE) > > /* AX88772 & AX88178 RX_CTL values */ > -#define AX_RX_CTL_RH2M 0x0200 /* 32-bit aligned RX IP header */ > -#define AX_RX_CTL_RH1M 0x0100 /* Enable RX header format type 1 */ > -#define AX_RX_CTL_SO 0x0080 > -#define AX_RX_CTL_AB 0x0008 > -#define AX_RX_HEADER_DEFAULT (AX_RX_CTL_RH1M | AX_RX_CTL_RH2M) > +#define AX_RX_CTL_SO 0x0080 > +#define AX_RX_CTL_AB 0x0008 > > #define AX_DEFAULT_RX_CTL \ > (AX_RX_CTL_SO | AX_RX_CTL_AB) > @@ -98,8 +95,6 @@ > #define FLAG_TYPE_AX88772B (1U << 2) > #define FLAG_EEPROM_MAC (1U << 3) /* initial mac address in eeprom */ > > -#define ASIX_USB_VENDOR_ID 0x0b95 > -#define AX88772B_USB_PRODUCT_ID 0x772b > > /* driver private */ > struct asix_private { > @@ -431,15 +426,10 @@ static int asix_init_common(struct ueth_data *dev, uint8_t *enetaddr) > int timeout = 0; > #define TIMEOUT_RESOLUTION 50 /* ms */ > int link_detected; > - u32 ctl = AX_DEFAULT_RX_CTL; > > debug("** %s()\n", __func__); > > - if ((dev->pusb_dev->descriptor.idVendor == ASIX_USB_VENDOR_ID) && > - (dev->pusb_dev->descriptor.idProduct == AX88772B_USB_PRODUCT_ID)) > - ctl |= AX_RX_HEADER_DEFAULT; > - > - if (asix_write_rx_ctl(dev, ctl) < 0) > + if (asix_write_rx_ctl(dev, AX_DEFAULT_RX_CTL) < 0) > goto out_err; > > if (asix_write_hwaddr_common(dev, enetaddr) < 0) > @@ -572,12 +562,6 @@ static int asix_recv(struct eth_device *eth) > return -1; > } > > - if ((dev->pusb_dev->descriptor.idVendor == > - ASIX_USB_VENDOR_ID) && > - (dev->pusb_dev->descriptor.idProduct == > - AX88772B_USB_PRODUCT_ID)) > - buf_ptr += 2; > - > /* Notify net stack */ > net_process_received_packet(buf_ptr + sizeof(packet_len), > packet_len); > @@ -819,11 +803,6 @@ int asix_eth_recv(struct udevice *dev, int flags, uchar **packetp) > } > > *packetp = ptr + sizeof(packet_len); > - > - if ((ueth->pusb_dev->descriptor.idVendor == ASIX_USB_VENDOR_ID) && > - (ueth->pusb_dev->descriptor.idProduct == AX88772B_USB_PRODUCT_ID)) > - *packetp += 2; > - > return packet_len; > > err: > Applied, thanks
diff --git a/drivers/usb/eth/asix.c b/drivers/usb/eth/asix.c index a610ae4..1c6e967 100644 --- a/drivers/usb/eth/asix.c +++ b/drivers/usb/eth/asix.c @@ -67,11 +67,8 @@ AX_MEDIUM_AC | AX_MEDIUM_RE) /* AX88772 & AX88178 RX_CTL values */ -#define AX_RX_CTL_RH2M 0x0200 /* 32-bit aligned RX IP header */ -#define AX_RX_CTL_RH1M 0x0100 /* Enable RX header format type 1 */ -#define AX_RX_CTL_SO 0x0080 -#define AX_RX_CTL_AB 0x0008 -#define AX_RX_HEADER_DEFAULT (AX_RX_CTL_RH1M | AX_RX_CTL_RH2M) +#define AX_RX_CTL_SO 0x0080 +#define AX_RX_CTL_AB 0x0008 #define AX_DEFAULT_RX_CTL \ (AX_RX_CTL_SO | AX_RX_CTL_AB) @@ -98,8 +95,6 @@ #define FLAG_TYPE_AX88772B (1U << 2) #define FLAG_EEPROM_MAC (1U << 3) /* initial mac address in eeprom */ -#define ASIX_USB_VENDOR_ID 0x0b95 -#define AX88772B_USB_PRODUCT_ID 0x772b /* driver private */ struct asix_private { @@ -431,15 +426,10 @@ static int asix_init_common(struct ueth_data *dev, uint8_t *enetaddr) int timeout = 0; #define TIMEOUT_RESOLUTION 50 /* ms */ int link_detected; - u32 ctl = AX_DEFAULT_RX_CTL; debug("** %s()\n", __func__); - if ((dev->pusb_dev->descriptor.idVendor == ASIX_USB_VENDOR_ID) && - (dev->pusb_dev->descriptor.idProduct == AX88772B_USB_PRODUCT_ID)) - ctl |= AX_RX_HEADER_DEFAULT; - - if (asix_write_rx_ctl(dev, ctl) < 0) + if (asix_write_rx_ctl(dev, AX_DEFAULT_RX_CTL) < 0) goto out_err; if (asix_write_hwaddr_common(dev, enetaddr) < 0) @@ -572,12 +562,6 @@ static int asix_recv(struct eth_device *eth) return -1; } - if ((dev->pusb_dev->descriptor.idVendor == - ASIX_USB_VENDOR_ID) && - (dev->pusb_dev->descriptor.idProduct == - AX88772B_USB_PRODUCT_ID)) - buf_ptr += 2; - /* Notify net stack */ net_process_received_packet(buf_ptr + sizeof(packet_len), packet_len); @@ -819,11 +803,6 @@ int asix_eth_recv(struct udevice *dev, int flags, uchar **packetp) } *packetp = ptr + sizeof(packet_len); - - if ((ueth->pusb_dev->descriptor.idVendor == ASIX_USB_VENDOR_ID) && - (ueth->pusb_dev->descriptor.idProduct == AX88772B_USB_PRODUCT_ID)) - *packetp += 2; - return packet_len; err: