]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/usb/host/hc_crisv10.c
[PATCH] UHCI: fix race in ISO dequeuing
[linux-2.6-omap-h63xx.git] / drivers / usb / host / hc_crisv10.c
index 641268d7e6f3ff650ebd3790cb1ece5637d25b81..2fe7fd19437b945fcf77da33a69ed174650c853d 100644 (file)
@@ -2137,10 +2137,9 @@ static int etrax_usb_submit_bulk_urb(struct urb *urb)
        urb->status = -EINPROGRESS;
 
        /* Setup the hcpriv data. */
-       urb_priv = kmalloc(sizeof(etrax_urb_priv_t), KMALLOC_FLAG);
+       urb_priv = kzalloc(sizeof(etrax_urb_priv_t), KMALLOC_FLAG);
        assert(urb_priv != NULL);
        /* This sets rx_offset to 0. */
-       memset(urb_priv, 0, sizeof(etrax_urb_priv_t));
        urb_priv->urb_state = NOT_STARTED;
        urb->hcpriv = urb_priv;
 
@@ -2475,10 +2474,9 @@ static int etrax_usb_submit_ctrl_urb(struct urb *urb)
        urb->status = -EINPROGRESS;
 
        /* Setup the hcpriv data. */
-       urb_priv = kmalloc(sizeof(etrax_urb_priv_t), KMALLOC_FLAG);
+       urb_priv = kzalloc(sizeof(etrax_urb_priv_t), KMALLOC_FLAG);
        assert(urb_priv != NULL);
        /* This sets rx_offset to 0. */
-       memset(urb_priv, 0, sizeof(etrax_urb_priv_t));
        urb_priv->urb_state = NOT_STARTED;
        urb->hcpriv = urb_priv;
 
@@ -2767,9 +2765,8 @@ static void etrax_usb_add_to_intr_sb_list(struct urb *urb, int epid)
        maxlen = usb_maxpacket(urb->dev, urb->pipe, usb_pipeout(urb->pipe));
        interval = urb->interval;
 
-       urb_priv = kmalloc(sizeof(etrax_urb_priv_t), KMALLOC_FLAG);
+       urb_priv = kzalloc(sizeof(etrax_urb_priv_t), KMALLOC_FLAG);
        assert(urb_priv != NULL);
-       memset(urb_priv, 0, sizeof(etrax_urb_priv_t));
        urb->hcpriv = urb_priv;
 
        first_ep = &TxIntrEPList[0];
@@ -2997,9 +2994,8 @@ static void etrax_usb_add_to_isoc_sb_list(struct urb *urb, int epid)
 
        prev_sb_desc = next_sb_desc = temp_sb_desc = NULL;
 
-       urb_priv = kmalloc(sizeof(etrax_urb_priv_t), GFP_ATOMIC);
+       urb_priv = kzalloc(sizeof(etrax_urb_priv_t), GFP_ATOMIC);
        assert(urb_priv != NULL);
-       memset(urb_priv, 0, sizeof(etrax_urb_priv_t));
 
        urb->hcpriv = urb_priv;
        urb_priv->epid = epid;