ChangeSet 1.1673.8.28, 2004/03/26 11:24:29-08:00, [EMAIL PROTECTED]

[PATCH] USB: fix hfc_usb sleeping in irq

you are using GFP_KERNEL in irq and __devinit with hotpluggable code.

      - use proper GFP flags
      - kill __devinit


 drivers/isdn/hisax/hfc_usb.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)


diff -Nru a/drivers/isdn/hisax/hfc_usb.c b/drivers/isdn/hisax/hfc_usb.c
--- a/drivers/isdn/hisax/hfc_usb.c      Wed Apr 14 14:37:58 2004
+++ b/drivers/isdn/hisax/hfc_usb.c      Wed Apr 14 14:37:58 2004
@@ -262,7 +262,7 @@
                hfc->ctrl_urb->transfer_buffer_length = 0;
                hfc->ctrl_write.wIndex = hfc->ctrl_buff[hfc->ctrl_out_idx].hfc_reg;
                hfc->ctrl_write.wValue = hfc->ctrl_buff[hfc->ctrl_out_idx].reg_val;
-               err = usb_submit_urb(hfc->ctrl_urb, GFP_KERNEL);        /* start 
transfer */
+               err = usb_submit_urb(hfc->ctrl_urb, GFP_ATOMIC);        /* start 
transfer */
                printk(KERN_DEBUG "ctrl_start_transfer: submit %d\n", err);
        }
 }                              /* ctrl_start_transfer */
@@ -754,7 +754,7 @@
                        }
         }
 
-               errcode = usb_submit_urb(urb, GFP_KERNEL);
+               errcode = usb_submit_urb(urb, GFP_ATOMIC);
                if(errcode < 0)
                {
                        printk(KERN_INFO "HFC-USB: error submitting ISO URB: %i \n",  
errcode);
@@ -821,7 +821,7 @@
                fill_isoc_urb(urb, fifo->hfc->dev, fifo->pipe,context_iso_urb->buffer, 
num_isoc_packets,
                        fifo->usb_packet_maxlen, fifo->intervall, rx_iso_complete, 
urb->context);
 
-               errcode = usb_submit_urb(urb, GFP_KERNEL);
+               errcode = usb_submit_urb(urb, GFP_ATOMIC);
                if(errcode < 0)
                {
                        printk(KERN_INFO "HFC-USB: error submitting ISO URB: %i \n",  
errcode);
@@ -1345,7 +1345,7 @@
 /*************************************************/
 /* function called to probe a new plugged device */
 /*************************************************/
-static int __devinit hfc_usb_probe(struct usb_interface *intf, const struct 
usb_device_id *id)
+static int hfc_usb_probe(struct usb_interface *intf, const struct usb_device_id *id)
 {
        struct usb_device *dev= interface_to_usbdev(intf);
        hfcusb_data *context;



-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id70&alloc_id638&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to