RE: [PATCH] net: usb: smsc95xx: fix changing LED_SEL bit value updated from EEPROM

From: Woojung.Huh
Date: Thu May 23 2024 - 12:17:53 EST


> -----Original Message-----
> From: Parthiban Veerasooran <Parthiban.Veerasooran@xxxxxxxxxxxxx>
> Sent: Thursday, May 23, 2024 4:53 AM
> To: steve.glendinning@xxxxxxxxxxx; UNGLinuxDriver
> <UNGLinuxDriver@xxxxxxxxxxxxx>; davem@xxxxxxxxxxxxx; edumazet@xxxxxxxxxx;
> kuba@xxxxxxxxxx; pabeni@xxxxxxxxxx
> Cc: netdev@xxxxxxxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; Parthiban Veerasooran - I17164
> <Parthiban.Veerasooran@xxxxxxxxxxxxx>
> Subject: [PATCH] net: usb: smsc95xx: fix changing LED_SEL bit value updated
> from EEPROM
>
> LED Select (LED_SEL) bit in the LED General Purpose IO Configuration
> register is used to determine the functionality of external LED pins
> (Speed Indicator, Link and Activity Indicator, Full Duplex Link
> Indicator). The default value for this bit is 0 when no EEPROM is
> present. If a EEPROM is present, the default value is the value of the
> LED Select bit in the Configuration Flags of the EEPROM. A USB Reset or
> Lite Reset (LRST) will cause this bit to be restored to the image value
> last loaded from EEPROM, or to be set to 0 if no EEPROM is present.
>
> While configuring the dual purpose GPIO/LED pins to LED outputs in the
> LED General Purpose IO Configuration register, the LED_SEL bit is changed
> as 0 and resulting the configured value from the EEPROM is cleared. The
> issue is fixed by using read-modify-write approach.
>
> Fixes: f293501c61c5 ("smsc95xx: configure LED outputs")
> Signed-off-by: Parthiban Veerasooran <Parthiban.Veerasooran@xxxxxxxxxxxxx>
> ---
> drivers/net/usb/smsc95xx.c | 11 +++++++----
> 1 file changed, 7 insertions(+), 4 deletions(-)

Reviewed-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx>