Re: [PATCH] qlge: Fix incorrect usage of module parameters andnetdev msg level

From: Ron Mercer
Date: Thu Nov 18 2010 - 13:09:57 EST


On Thu, Nov 18, 2010 at 02:25:03AM -0800, Sonny Rao wrote:
> Driver appears to be mistaking the permission field with default value
> in the case of debug and qlge_irq_type.
>
> Driver is also passing debug as a bitmask into netif_msg_init()
> which really wants a number of bits, so fix that.
>
> Signed-off-by: Milton Miller <miltonm@xxxxxxx>
> Signed-off-by: Sonny Rao <sonnyrao@xxxxxxxxxxxxxxxxxx>
> ---
> drivers/net/qlge/qlge_main.c | 6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c
> index d9a7626..66878bb 100644
> --- a/drivers/net/qlge/qlge_main.c
> +++ b/drivers/net/qlge/qlge_main.c
> @@ -62,15 +62,15 @@ static const u32 default_msg =
> /* NETIF_MSG_PKTDATA | */
> NETIF_MSG_HW | NETIF_MSG_WOL | 0;
>
> -static int debug = 0x00007fff; /* defaults above */
> -module_param(debug, int, 0);
> +static int debug = 15; /* defaults above */


I think what we want here is:

> +static int debug = -1; /* defaults above */

This will correct it and maintain the current behavior.
By passing in the 0x00007ffff we were getting the passed in default
paramter from the 2nd compare in the first if statement below. If we set
debug to 15 then it looks like we would turn on all bits rather than
qlge default.

static inline u32 netif_msg_init(int debug_value, int default_msg_enable_bits)
{
/* use default */
if (debug_value < 0 || debug_value >= (sizeof(u32) * 8))
return default_msg_enable_bits;
if (debug_value == 0) /* no output */
return 0;
/* set low N bits */
return (1 << debug_value) - 1;
}

--
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/