From: johann d. <jd...@us...> - 2002-02-27 22:27:01
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/usb In directory usw-pr-cvs1:/tmp/cvs-serv21222 Modified Files: hid-core.c Log Message: Adapted to usb API changes. Added seemingly missing spin_unlock_irq_restore()s in completion handlers. Index: hid-core.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/usb/hid-core.c,v retrieving revision 1.45 retrieving revision 1.46 diff -u -d -r1.45 -r1.46 --- hid-core.c 21 Feb 2002 09:27:10 -0000 1.45 +++ hid-core.c 27 Feb 2002 22:26:58 -0000 1.46 @@ -49,6 +49,7 @@ #include <linux/hiddev.h> #endif + /* * Version Information */ @@ -990,7 +991,7 @@ dbg("submitting out urb"); - if (usb_submit_urb(hid->urbout)) { + if (usb_submit_urb(hid->urbout, GFP_ATOMIC)) { err("usb_submit_urb(out) failed"); return -1; } @@ -1021,7 +1022,7 @@ dbg("submitting ctrl urb"); - if (usb_submit_urb(hid->urbctrl)) { + if (usb_submit_urb(hid->urbctrl, GFP_ATOMIC)) { err("usb_submit_urb(ctrl) failed"); return -1; } @@ -1047,6 +1048,7 @@ if (hid->outhead != hid->outtail) { hid_submit_out(hid); + spin_unlock_irqrestore(&hid->outlock, flags); return; } @@ -1078,6 +1080,7 @@ if (hid->ctrlhead != hid->ctrltail) { hid_submit_ctrl(hid); + spin_unlock_irqrestore(&hid->ctrllock, flags); return; } @@ -1169,7 +1172,7 @@ hid->urbin->dev = hid->dev; - if (usb_submit_urb(hid->urbin)) + if (usb_submit_urb(hid->urbin, GFP_KERNEL)) return -EIO; return 0; @@ -1316,14 +1319,14 @@ if (endpoint->bEndpointAddress & USB_DIR_IN) { if (hid->urbin) continue; - if (!(hid->urbin = usb_alloc_urb(0))) + if (!(hid->urbin = usb_alloc_urb(0, GFP_KERNEL))) goto fail; pipe = usb_rcvintpipe(dev, endpoint->bEndpointAddress); FILL_INT_URB(hid->urbin, dev, pipe, hid->inbuf, 0, hid_irq_in, hid, endpoint->bInterval); } else { if (hid->urbout) continue; - if (!(hid->urbout = usb_alloc_urb(0))) + if (!(hid->urbout = usb_alloc_urb(0, GFP_KERNEL))) goto fail; pipe = usb_sndbulkpipe(dev, endpoint->bEndpointAddress); FILL_BULK_URB(hid->urbout, dev, pipe, hid->outbuf, 0, hid_irq_out, hid); @@ -1365,7 +1368,7 @@ kfree(buf); - hid->urbctrl = usb_alloc_urb(0); + hid->urbctrl = usb_alloc_urb(0, GFP_KERNEL); FILL_CONTROL_URB(hid->urbctrl, dev, 0, (void*) &hid->cr, hid->ctrlbuf, 1, hid_ctrl, hid); return hid; |