]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/isdn/hisax/st5481_b.c
Merge branch 'we21-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/linville...
[linux-2.6-omap-h63xx.git] / drivers / isdn / hisax / st5481_b.c
index 0a2536d6240297e77ebaa76a7f82c1766c492f59..75d0f248e4eeb231ada591529771904c3565cf43 100644 (file)
@@ -86,7 +86,7 @@ static void usb_b_out(struct st5481_bcs *bcs,int buf_nr)
                        if (!skb->len) {
                                // Frame sent
                                b_out->tx_skb = NULL;
-                               B_L1L2(bcs, PH_DATA | CONFIRM, (void *) skb->truesize);
+                               B_L1L2(bcs, PH_DATA | CONFIRM, (void *)(unsigned long) skb->truesize);
                                dev_kfree_skb_any(skb);
 
 /*                             if (!(bcs->tx_skb = skb_dequeue(&bcs->sq))) { */
@@ -161,7 +161,7 @@ static void led_blink(struct st5481_adapter *adapter)
        st5481_usb_device_ctrl_msg(adapter, GPIO_OUT, leds, NULL, NULL);
 }
 
-static void usb_b_out_complete(struct urb *urb, struct pt_regs *regs)
+static void usb_b_out_complete(struct urb *urb)
 {
        struct st5481_bcs *bcs = urb->context;
        struct st5481_b_out *b_out = &bcs->b_out;
@@ -209,9 +209,7 @@ static void st5481B_mode(struct st5481_bcs *bcs, int mode)
        bcs->mode = mode;
 
        // Cancel all USB transfers on this B channel
-       b_out->urb[0]->transfer_flags |= URB_ASYNC_UNLINK;
        usb_unlink_urb(b_out->urb[0]);
-       b_out->urb[1]->transfer_flags |= URB_ASYNC_UNLINK;
        usb_unlink_urb(b_out->urb[1]);
        b_out->busy = 0;
 
@@ -352,20 +350,18 @@ void st5481_b_l2l1(struct hisax_if *ifc, int pr, void *arg)
 {
        struct st5481_bcs *bcs = ifc->priv;
        struct sk_buff *skb = arg;
-       int mode;
+       long mode;
 
        DBG(4, "");
 
        switch (pr) {
        case PH_DATA | REQUEST:
-               if (bcs->b_out.tx_skb)
-                       BUG();
-               
+               BUG_ON(bcs->b_out.tx_skb);
                bcs->b_out.tx_skb = skb;
                break;
        case PH_ACTIVATE | REQUEST:
-               mode = (int) arg;
-               DBG(4,"B%d,PH_ACTIVATE_REQUEST %d", bcs->channel + 1, mode);
+               mode = (long) arg;
+               DBG(4,"B%d,PH_ACTIVATE_REQUEST %ld", bcs->channel + 1, mode);
                st5481B_mode(bcs, mode);
                B_L1L2(bcs, PH_ACTIVATE | INDICATION, NULL);
                break;