Johannes Berg wrote: > On Thu, 2009-04-02 at 20:48 +0200, Johannes Berg wrote: > > Could you try something for me? > > In drivers/leds/led-triggers.c in led_trigger_show you have > > list_for_each_entry(trig, &trigger_list, next_trig) { > + printk(KERN_DEBUG "available trigger: %s\n", trig->name); > if (led_cdev->trigger && !strcmp(led_cdev->trigger->name, > trig->name)) > len += sprintf(buf+len, "[%s] ", trig->name); > else > len += sprintf(buf+len, "%s ", trig->name); > } > > could you do the modification, with a kernel that has the TRIG_NAME_MAX > set to 50, and see what it prints? I'm completely confused by this > failure mode since the garbage you get is actually put into brackets, so > it seems the strcmp() is returning 0 which seems odd. Have I told you that I hate things that appear to be intermittent? I added the printk, returned TRIG_NAME_MAX to 50, rebuilt and rebooted. This time I got ~/wireless-testing> cat /sys/class/leds/b43legacy-phy0\:\:rad/trigger none ide-disk ADP1-online BAT0-charging-or-full BAT0-charging BAT0-full phy0rx phy0tx phy0assoc phy0radio [rfkill0] ~/wireless-testing> dmesg | grep available available trigger: ide-disk available trigger: ADP1-online available trigger: BAT0-charging-or-full available trigger: BAT0-charging available trigger: BAT0-full available trigger: phy0rx available trigger: phy0tx available trigger: phy0assoc available trigger: phy0radio available trigger: rfkill0 I'll leave the printk in place for the moment. The name is being truncated by "#define BUS_ID_SIZE 20" in include/linux/device.h. As changing that define would be pretty invasive, I plan to use a shorter name when the LED is registered. The bad news is that the set brightness callback routine is still not being called even though I tried BUS_ID_SIZE of 30.. Till later, Larry -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html