Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | From | Christian Marangi <> | Subject | [PATCH 07/11] leds: trigger: netdev: reject interval and device store for hw_control | Date | Thu, 27 Apr 2023 02:15:37 +0200 |
| |
Reject interval and device store with hw_control enabled. They are currently not supported and MUST be empty with hw_control enabled.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> --- drivers/leds/trigger/ledtrig-netdev.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
diff --git a/drivers/leds/trigger/ledtrig-netdev.c b/drivers/leds/trigger/ledtrig-netdev.c index 28c4465a2584..8cd876647a27 100644 --- a/drivers/leds/trigger/ledtrig-netdev.c +++ b/drivers/leds/trigger/ledtrig-netdev.c @@ -124,6 +124,11 @@ static ssize_t device_name_store(struct device *dev, mutex_lock(&trigger_data->lock); + if (trigger_data->hw_control) { + size = -EINVAL; + goto out; + } + if (trigger_data->net_dev) { dev_put(trigger_data->net_dev); trigger_data->net_dev = NULL; @@ -145,6 +150,8 @@ static ssize_t device_name_store(struct device *dev, trigger_data->last_activity = 0; set_baseline_state(trigger_data); + +out: mutex_unlock(&trigger_data->lock); return size; @@ -248,6 +255,13 @@ static ssize_t interval_store(struct device *dev, unsigned long value; int ret; + mutex_lock(&trigger_data->lock); + + if (trigger_data->hw_control) { + size = -EINVAL; + goto out; + } + ret = kstrtoul(buf, 0, &value); if (ret) return ret; @@ -260,6 +274,9 @@ static ssize_t interval_store(struct device *dev, set_baseline_state(trigger_data); /* resets timer */ } +out: + mutex_unlock(&trigger_data->lock); + return size; } -- 2.39.2
| ![\](/images/icornerr.gif) |