| .. | .. |
|---|
| 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 | } |
|---|