On Sat, May 29, 2021 at 05:35:22AM +0800, 慕冬亮 wrote: > > diff --git a/sound/core/control_led.c b/sound/core/control_led.c > > index 25f57c14f294..dd357abc1b58 100644 > > --- a/sound/core/control_led.c > > +++ b/sound/core/control_led.c > > @@ -740,6 +740,7 @@ static int __init snd_ctl_led_init(void) > > for (; group > 0; group--) { > > led = &snd_ctl_leds[group - 1]; > > device_del(&led->dev); > > + device_put(&led->dev); > > } > > device_del(&snd_ctl_led_dev); > > return -ENOMEM; > > @@ -768,6 +769,7 @@ static void __exit snd_ctl_led_exit(void) > > for (group = 0; group < MAX_LED; group++) { > > led = &snd_ctl_leds[group]; > > device_del(&led->dev); > > + device_put(&led->dev); > > } > > device_del(&snd_ctl_led_dev); > > snd_ctl_led_clean(NULL); > > Does this patch mean I should add device_put in the init and exit > function other than snd_ctl_led_sysfs_remove? This will cause > device_release bypass the release method checking? Please fix your email client to line wrap your emails. I'm not sure what release method checking you're refering to. regards, dan carpenter