staging/rtl8712: unhandled default case in SwLedOn function.

Larry Finger Larry.Finger at lwfinger.net
Wed May 2 20:36:57 UTC 2012


On 05/02/2012 03:12 PM, joseph daniel wrote:
> On Thu, May 3, 2012 at 2:10 AM, joseph daniel
> <josephdanielwalter at gmail.com>  wrote:
>> Hi kernel developers,
>>
>> In the function SwLedOn in rtl8712_led.c, we put the bLedOn = true,
>> even if its a default case. may be we need to return? or BUG()?.
>>
>> the code listing is:
>>
>> if ((padapter->bSurpriseRemoved == true) ||
>>         (padapter->bDriverStopped == true))
>>         return;
>>     LedCfg = r8712_read8(padapter, LEDCFG);
>>     switch (pLed->LedPin) {
>>     case LED_PIN_GPIO0:
>>         break;
>>     case LED_PIN_LED0:
>>         /* SW control led0 on.*/
>>         r8712_write8(padapter, LEDCFG, LedCfg&0xf0);
>>         break;
>>     case LED_PIN_LED1:
>>         /* SW control led1 on.*/
>>         r8712_write8(padapter, LEDCFG, LedCfg&0x0f);
>>         break;
>>     default:
> /* at this point of the code */
>>        /* break; */
>           return; /* or */
>           /* BUG(); */ /*since we may not be getting into here */
>>     }
>>     pLed->bLedOn = true;
>>

This should do:

Index: staging/drivers/staging/rtl8712/rtl8712_led.c
===================================================================
--- staging.orig/drivers/staging/rtl8712/rtl8712_led.c
+++ staging/drivers/staging/rtl8712/rtl8712_led.c
@@ -137,7 +137,8 @@ static void SwLedOn(struct _adapter *pad
  		r8712_write8(padapter, LEDCFG, LedCfg&0x0f);
  		break;
  	default:
-		break;
+		WARN_ONCE(1, "Default branch taken in %s\n", __func__);
+		return;
  	}
  	pLed->bLedOn = true;
  }

If you agree, then I will push the patch to Greg.

Larry



More information about the devel mailing list