.. | .. |
---|
698 | 698 | f_midi_drop_out_substreams(midi); |
---|
699 | 699 | } |
---|
700 | 700 | |
---|
701 | | -static void f_midi_in_tasklet(unsigned long data) |
---|
| 701 | +static void f_midi_in_tasklet(struct tasklet_struct *t) |
---|
702 | 702 | { |
---|
703 | | - struct f_midi *midi = (struct f_midi *) data; |
---|
| 703 | + struct f_midi *midi = from_tasklet(midi, t, tasklet); |
---|
704 | 704 | f_midi_transmit(midi); |
---|
705 | 705 | } |
---|
706 | 706 | |
---|
.. | .. |
---|
875 | 875 | int status, n, jack = 1, i = 0, endpoint_descriptor_index = 0; |
---|
876 | 876 | |
---|
877 | 877 | 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); |
---|
879 | 879 | status = f_midi_register_card(midi); |
---|
880 | 880 | if (status < 0) |
---|
881 | 881 | goto fail_register; |
---|
.. | .. |
---|
1235 | 1235 | |
---|
1236 | 1236 | if (fi_midi && fi_midi->f) { |
---|
1237 | 1237 | midi = func_to_midi(fi_midi->f); |
---|
1238 | | - if (midi->rmidi && midi->rmidi->card) |
---|
| 1238 | + if (midi->rmidi && midi->card && midi->rmidi->card) |
---|
1239 | 1239 | return sprintf(buf, "%d %d\n", |
---|
1240 | 1240 | midi->rmidi->card->number, midi->rmidi->device); |
---|
1241 | 1241 | } |
---|