diff options
author | Michel Ludwig <michel.ludwig@gmail.com> | 2007-06-17 16:12:32 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-05-17 23:39:28 -0400 |
commit | 2cd4fd1e57cb6897612ead8a3d39ecb444920a1a (patch) | |
tree | 1062e49acaddbfcf8201ec44cbf733d07a51915b | |
parent | 7c3f53ec491b64b3c3fa339e4e77e49782b0be9f (diff) |
V4L/DVB (12775): tm6000: fix usb_submit_urb to be called inside interrupt context
Signed-off-by: Michel Ludwig <michel.ludwig@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/staging/tm6000/tm6000-cards.c | 8 | ||||
-rw-r--r-- | drivers/staging/tm6000/tm6000-video.c | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/drivers/staging/tm6000/tm6000-cards.c b/drivers/staging/tm6000/tm6000-cards.c index da2348e1c048..df973c0cc46a 100644 --- a/drivers/staging/tm6000/tm6000-cards.c +++ b/drivers/staging/tm6000/tm6000-cards.c | |||
@@ -229,11 +229,15 @@ static int tm6000_usb_probe(struct usb_interface *interface, | |||
229 | 229 | ||
230 | /* Increment usage count */ | 230 | /* Increment usage count */ |
231 | tm6000_devused|=1<<nr; | 231 | tm6000_devused|=1<<nr; |
232 | snprintf(dev->name, 29, "tm6000 #%d", nr); | ||
233 | |||
234 | dev->model=id->driver_info; | ||
235 | if ((card[nr]>=0) && (card[nr]<ARRAY_SIZE(tm6000_boards))) { | ||
236 | dev->model=card[nr]; | ||
237 | } | ||
232 | 238 | ||
233 | INIT_LIST_HEAD(&dev->tm6000_corelist); | 239 | INIT_LIST_HEAD(&dev->tm6000_corelist); |
234 | dev->udev= usbdev; | 240 | dev->udev= usbdev; |
235 | dev->model=id->driver_info; | ||
236 | snprintf(dev->name, 29, "tm6000 #%d", nr); | ||
237 | dev->devno=nr; | 241 | dev->devno=nr; |
238 | 242 | ||
239 | switch (usbdev->speed) { | 243 | switch (usbdev->speed) { |
diff --git a/drivers/staging/tm6000/tm6000-video.c b/drivers/staging/tm6000/tm6000-video.c index 68002a14ef3d..5697be06ddd7 100644 --- a/drivers/staging/tm6000/tm6000-video.c +++ b/drivers/staging/tm6000/tm6000-video.c | |||
@@ -591,7 +591,7 @@ static int tm6000_start_thread( struct tm6000_dmaqueue *dma_q, | |||
591 | 591 | ||
592 | /* submit urbs and enables IRQ */ | 592 | /* submit urbs and enables IRQ */ |
593 | for (i = 0; i < dev->isoc_ctl.num_bufs; i++) { | 593 | for (i = 0; i < dev->isoc_ctl.num_bufs; i++) { |
594 | rc = usb_submit_urb(dev->isoc_ctl.urb[i], GFP_KERNEL); | 594 | rc = usb_submit_urb(dev->isoc_ctl.urb[i], GFP_ATOMIC); |
595 | if (rc) { | 595 | if (rc) { |
596 | tm6000_err("submit of urb %i failed (error=%i)\n", i, | 596 | tm6000_err("submit of urb %i failed (error=%i)\n", i, |
597 | rc); | 597 | rc); |