On Wed, May 22, 2024 at 07:38:17PM +0530, Parthiban Veerasooran wrote: > By default, LAN9500A configures the external LEDs to the below function. > nSPD_LED -> Speed Indicator > nLNKA_LED -> Link and Activity Indicator > nFDX_LED -> Full Duplex Link Indicator > > But, EVB-LAN8670-USB uses the below external LEDs function which can be > enabled by writing 1 to the LED Select (LED_SEL) bit in the LAN9500A. > nSPD_LED -> Speed Indicator > nLNKA_LED -> Link Indicator > nFDX_LED -> Activity Indicator > > Signed-off-by: Parthiban Veerasooran <Parthiban.Veerasooran@xxxxxxxxxxxxx> > --- > drivers/net/usb/smsc95xx.c | 12 ++++++++++++ > drivers/net/usb/smsc95xx.h | 1 + > 2 files changed, 13 insertions(+) > > diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c > index cbea24666479..05975461bf10 100644 > --- a/drivers/net/usb/smsc95xx.c > +++ b/drivers/net/usb/smsc95xx.c > @@ -1006,6 +1006,18 @@ static int smsc95xx_reset(struct usbnet *dev) > /* Configure GPIO pins as LED outputs */ > write_buf = LED_GPIO_CFG_SPD_LED | LED_GPIO_CFG_LNK_LED | > LED_GPIO_CFG_FDX_LED; > + > + /* Set LED Select (LED_SEL) bit for the external LED pins functionality > + * in the Microchip's EVB-LAN8670-USB 10BASE-T1S Ethernet device which > + * uses the below LED function. > + * nSPD_LED -> Speed Indicator > + * nLNKA_LED -> Link Indicator > + * nFDX_LED -> Activity Indicator > + */ > + if (dev->udev->descriptor.idVendor == 0x184F && > + dev->udev->descriptor.idProduct == 0x0051) Hi Parthiban, There seems to be an endian missmatch here. The type of .idVendor and .idProduct is __le16, but here they are compared against host byte-order integers. Flagged by Sparse. > + write_buf |= LED_GPIO_CFG_LED_SEL; > + > ret = smsc95xx_write_reg(dev, LED_GPIO_CFG, write_buf); > if (ret < 0) > return ret; ... -- pw-bot: changes-requested