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

From: Simon Horman
Date: Thu May 23 2024 - 10:41:11 EST


On Thu, May 23, 2024 at 02:23:14PM +0530, Parthiban Veerasooran wrote:
> 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: Simon Horman <horms@xxxxxxxxxx>