2012-03-17 23:16:58

by Jakub Kicinski

[permalink] [raw]
Subject: [PATCH] rt2x00: increase led's name buffer length

With 9-letter driver names phy's number was truncated
to two characters, which caused warnings when creating
sysfs entries for leds on systems with multiple devices.

Signed-off-by: Jakub Kicinski <[email protected]>
---
drivers/net/wireless/rt2x00/rt2x00leds.c | 16 ++++++++--------
1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/net/wireless/rt2x00/rt2x00leds.c b/drivers/net/wireless/rt2x00/rt2x00leds.c
index ca585e3..8679d78 100644
--- a/drivers/net/wireless/rt2x00/rt2x00leds.c
+++ b/drivers/net/wireless/rt2x00/rt2x00leds.c
@@ -124,17 +124,15 @@ static int rt2x00leds_register_led(struct rt2x00_dev *rt2x00dev,

void rt2x00leds_register(struct rt2x00_dev *rt2x00dev)
{
- char dev_name[16];
- char name[32];
+ char name[36];
int retval;
unsigned long on_period;
unsigned long off_period;
-
- snprintf(dev_name, sizeof(dev_name), "%s-%s",
- rt2x00dev->ops->name, wiphy_name(rt2x00dev->hw->wiphy));
+ const char *phy_name = wiphy_name(rt2x00dev->hw->wiphy);

if (rt2x00dev->led_radio.flags & LED_INITIALIZED) {
- snprintf(name, sizeof(name), "%s::radio", dev_name);
+ snprintf(name, sizeof(name), "%s-%s::radio",
+ rt2x00dev->ops->name, phy_name);

retval = rt2x00leds_register_led(rt2x00dev,
&rt2x00dev->led_radio,
@@ -144,7 +142,8 @@ void rt2x00leds_register(struct rt2x00_dev *rt2x00dev)
}

if (rt2x00dev->led_assoc.flags & LED_INITIALIZED) {
- snprintf(name, sizeof(name), "%s::assoc", dev_name);
+ snprintf(name, sizeof(name), "%s-%s::assoc",
+ rt2x00dev->ops->name, phy_name);

retval = rt2x00leds_register_led(rt2x00dev,
&rt2x00dev->led_assoc,
@@ -154,7 +153,8 @@ void rt2x00leds_register(struct rt2x00_dev *rt2x00dev)
}

if (rt2x00dev->led_qual.flags & LED_INITIALIZED) {
- snprintf(name, sizeof(name), "%s::quality", dev_name);
+ snprintf(name, sizeof(name), "%s-%s::quality",
+ rt2x00dev->ops->name, phy_name);

retval = rt2x00leds_register_led(rt2x00dev,
&rt2x00dev->led_qual,
--
1.7.7.6



2012-03-19 20:21:59

by Gertjan van Wingerde

[permalink] [raw]
Subject: Re: [PATCH] rt2x00: increase led's name buffer length

On 18 mrt. 2012, at 00:16, Jakub Kicinski <[email protected]> wrote:

> With 9-letter driver names phy's number was truncated
> to two characters, which caused warnings when creating
> sysfs entries for leds on systems with multiple devices.
>
> Signed-off-by: Jakub Kicinski <[email protected]>

Acked-by: Gertjan van Wingerde <[email protected]>

> ---
> drivers/net/wireless/rt2x00/rt2x00leds.c | 16 ++++++++--------
> 1 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/net/wireless/rt2x00/rt2x00leds.c b/drivers/net/wireless/rt2x00/rt2x00leds.c
> index ca585e3..8679d78 100644
> --- a/drivers/net/wireless/rt2x00/rt2x00leds.c
> +++ b/drivers/net/wireless/rt2x00/rt2x00leds.c
> @@ -124,17 +124,15 @@ static int rt2x00leds_register_led(struct rt2x00_dev *rt2x00dev,
>
> void rt2x00leds_register(struct rt2x00_dev *rt2x00dev)
> {
> - char dev_name[16];
> - char name[32];
> + char name[36];
> int retval;
> unsigned long on_period;
> unsigned long off_period;
> -
> - snprintf(dev_name, sizeof(dev_name), "%s-%s",
> - rt2x00dev->ops->name, wiphy_name(rt2x00dev->hw->wiphy));
> + const char *phy_name = wiphy_name(rt2x00dev->hw->wiphy);
>
> if (rt2x00dev->led_radio.flags & LED_INITIALIZED) {
> - snprintf(name, sizeof(name), "%s::radio", dev_name);
> + snprintf(name, sizeof(name), "%s-%s::radio",
> + rt2x00dev->ops->name, phy_name);
>
> retval = rt2x00leds_register_led(rt2x00dev,
> &rt2x00dev->led_radio,
> @@ -144,7 +142,8 @@ void rt2x00leds_register(struct rt2x00_dev *rt2x00dev)
> }
>
> if (rt2x00dev->led_assoc.flags & LED_INITIALIZED) {
> - snprintf(name, sizeof(name), "%s::assoc", dev_name);
> + snprintf(name, sizeof(name), "%s-%s::assoc",
> + rt2x00dev->ops->name, phy_name);
>
> retval = rt2x00leds_register_led(rt2x00dev,
> &rt2x00dev->led_assoc,
> @@ -154,7 +153,8 @@ void rt2x00leds_register(struct rt2x00_dev *rt2x00dev)
> }
>
> if (rt2x00dev->led_qual.flags & LED_INITIALIZED) {
> - snprintf(name, sizeof(name), "%s::quality", dev_name);
> + snprintf(name, sizeof(name), "%s-%s::quality",
> + rt2x00dev->ops->name, phy_name);
>
> retval = rt2x00leds_register_led(rt2x00dev,
> &rt2x00dev->led_qual,
> --
> 1.7.7.6
>

2012-03-19 11:03:52

by Stanislaw Gruszka

[permalink] [raw]
Subject: Re: [rt2x00-users] [PATCH] rt2x00: increase led's name buffer length

On Sun, Mar 18, 2012 at 12:16:52AM +0100, Jakub Kicinski wrote:
> With 9-letter driver names phy's number was truncated
> to two characters, which caused warnings when creating
> sysfs entries for leds on systems with multiple devices.
>
> Signed-off-by: Jakub Kicinski <[email protected]>
> ---
> drivers/net/wireless/rt2x00/rt2x00leds.c | 16 ++++++++--------
> 1 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/net/wireless/rt2x00/rt2x00leds.c b/drivers/net/wireless/rt2x00/rt2x00leds.c
> index ca585e3..8679d78 100644
> --- a/drivers/net/wireless/rt2x00/rt2x00leds.c
> +++ b/drivers/net/wireless/rt2x00/rt2x00leds.c
> @@ -124,17 +124,15 @@ static int rt2x00leds_register_led(struct rt2x00_dev *rt2x00dev,
>
> void rt2x00leds_register(struct rt2x00_dev *rt2x00dev)
> {
> - char dev_name[16];
> - char name[32];
> + char name[36];
> int retval;
> unsigned long on_period;
> unsigned long off_period;
> -
> - snprintf(dev_name, sizeof(dev_name), "%s-%s",
> - rt2x00dev->ops->name, wiphy_name(rt2x00dev->hw->wiphy));
> + const char *phy_name = wiphy_name(rt2x00dev->hw->wiphy);
>
> if (rt2x00dev->led_radio.flags & LED_INITIALIZED) {
> - snprintf(name, sizeof(name), "%s::radio", dev_name);
> + snprintf(name, sizeof(name), "%s-%s::radio",
> + rt2x00dev->ops->name, phy_name);
I guess simpler would be just increase dev_name length, but patch looks
correct to me anyway.

Reviewed-by: Stanislaw Gruszka <[email protected]>