hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/usb/gadget/function/f_midi.c
....@@ -698,9 +698,9 @@
698698 f_midi_drop_out_substreams(midi);
699699 }
700700
701
-static void f_midi_in_tasklet(unsigned long data)
701
+static void f_midi_in_tasklet(struct tasklet_struct *t)
702702 {
703
- struct f_midi *midi = (struct f_midi *) data;
703
+ struct f_midi *midi = from_tasklet(midi, t, tasklet);
704704 f_midi_transmit(midi);
705705 }
706706
....@@ -875,7 +875,7 @@
875875 int status, n, jack = 1, i = 0, endpoint_descriptor_index = 0;
876876
877877 midi->gadget = cdev->gadget;
878
- tasklet_init(&midi->tasklet, f_midi_in_tasklet, (unsigned long) midi);
878
+ tasklet_setup(&midi->tasklet, f_midi_in_tasklet);
879879 status = f_midi_register_card(midi);
880880 if (status < 0)
881881 goto fail_register;
....@@ -1235,7 +1235,7 @@
12351235
12361236 if (fi_midi && fi_midi->f) {
12371237 midi = func_to_midi(fi_midi->f);
1238
- if (midi->rmidi && midi->rmidi->card)
1238
+ if (midi->rmidi && midi->card && midi->rmidi->card)
12391239 return sprintf(buf, "%d %d\n",
12401240 midi->rmidi->card->number, midi->rmidi->device);
12411241 }