Re: staging/rtl8712: unhandled default case in SwLedOn function.
From: joseph daniel
Date: Wed May 02 2012 - 23:36:10 EST
On Thu, May 3, 2012 at 2:36 AM, Larry Finger <Larry.Finger@xxxxxxxxxxxx> wrote:
> On 05/02/2012 03:12 PM, joseph daniel wrote:
>>
>> On Thu, May 3, 2012 at 2:10 AM, joseph daniel
>> <josephdanielwalter@xxxxxxxxx> 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.
>
Agreed. Thanks Greg and Larry.
Acked-by: josephdanielwalter@xxxxxxxxx
> Larry
Thanks,
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/