mac80211: don't open-code LED manipulations
We shouldn't open-code led_trigger_blink() or led_trigger_event(), use them instead of badly open-coding them. This also fixes the locking, led_trigger_blink() and led_trigger_event() now use read_lock_irqsave(). Link: https://lore.kernel.org/r/20210616212804.b19ba1c60353.I8ea1b4defd5e12fc20ef281291e602feeec336a6@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
d656a4c6ea
commit
3f9d9725cb
|
@ -259,7 +259,6 @@ static void tpt_trig_timer(struct timer_list *t)
|
|||
{
|
||||
struct tpt_led_trigger *tpt_trig = from_timer(tpt_trig, t, timer);
|
||||
struct ieee80211_local *local = tpt_trig->local;
|
||||
struct led_classdev *led_cdev;
|
||||
unsigned long on, off, tpt;
|
||||
int i;
|
||||
|
||||
|
@ -283,10 +282,7 @@ static void tpt_trig_timer(struct timer_list *t)
|
|||
}
|
||||
}
|
||||
|
||||
read_lock(&local->tpt_led.leddev_list_lock);
|
||||
list_for_each_entry(led_cdev, &local->tpt_led.led_cdevs, trig_list)
|
||||
led_blink_set(led_cdev, &on, &off);
|
||||
read_unlock(&local->tpt_led.leddev_list_lock);
|
||||
led_trigger_blink(&local->tpt_led, &on, &off);
|
||||
}
|
||||
|
||||
const char *
|
||||
|
@ -341,7 +337,6 @@ static void ieee80211_start_tpt_led_trig(struct ieee80211_local *local)
|
|||
static void ieee80211_stop_tpt_led_trig(struct ieee80211_local *local)
|
||||
{
|
||||
struct tpt_led_trigger *tpt_trig = local->tpt_led_trigger;
|
||||
struct led_classdev *led_cdev;
|
||||
|
||||
if (!tpt_trig->running)
|
||||
return;
|
||||
|
@ -349,10 +344,7 @@ static void ieee80211_stop_tpt_led_trig(struct ieee80211_local *local)
|
|||
tpt_trig->running = false;
|
||||
del_timer_sync(&tpt_trig->timer);
|
||||
|
||||
read_lock(&local->tpt_led.leddev_list_lock);
|
||||
list_for_each_entry(led_cdev, &local->tpt_led.led_cdevs, trig_list)
|
||||
led_set_brightness(led_cdev, LED_OFF);
|
||||
read_unlock(&local->tpt_led.leddev_list_lock);
|
||||
led_trigger_event(&local->tpt_led, LED_OFF);
|
||||
}
|
||||
|
||||
void ieee80211_mod_tpt_led_trig(struct ieee80211_local *local,
|
||||
|
|
Loading…
Reference in New Issue