Merge commit 'origin/master' into next
[pandora-kernel.git] / drivers / usb / gadget / f_phonet.c
index c1abeb8..96fb118 100644 (file)
@@ -188,8 +188,7 @@ static struct usb_descriptor_header *hs_pn_function[] = {
 
 static int pn_net_open(struct net_device *dev)
 {
-       if (netif_carrier_ok(dev))
-               netif_wake_queue(dev);
+       netif_wake_queue(dev);
        return 0;
 }
 
@@ -219,8 +218,7 @@ static void pn_tx_complete(struct usb_ep *ep, struct usb_request *req)
        }
 
        dev_kfree_skb_any(skb);
-       if (netif_carrier_ok(dev))
-               netif_wake_queue(dev);
+       netif_wake_queue(dev);
 }
 
 static int pn_net_xmit(struct sk_buff *skb, struct net_device *dev)
@@ -255,7 +253,7 @@ out_unlock:
        spin_unlock_irqrestore(&port->lock, flags);
 out:
        if (unlikely(skb)) {
-               dev_kfree_skb_any(skb);
+               dev_kfree_skb(skb);
                dev->stats.tx_dropped++;
        }
        return 0;
@@ -383,7 +381,6 @@ static void __pn_reset(struct usb_function *f)
        struct phonet_port *port = netdev_priv(dev);
 
        netif_carrier_off(dev);
-       netif_stop_queue(dev);
        port->usb = NULL;
 
        usb_ep_disable(fp->out_ep);
@@ -427,8 +424,6 @@ static int pn_set_alt(struct usb_function *f, unsigned intf, unsigned alt)
                        fp->in_ep->driver_data = fp;
 
                        netif_carrier_on(dev);
-                       if (netif_running(dev))
-                               netif_wake_queue(dev);
                        for (i = 0; i < phonet_rxq_size; i++)
                                pn_rx_submit(fp, fp->out_reqv[i], GFP_ATOMIC);
                }
@@ -574,9 +569,10 @@ static struct net_device *dev;
 int __init phonet_bind_config(struct usb_configuration *c)
 {
        struct f_phonet *fp;
-       int err;
+       int err, size;
 
-       fp = kzalloc(sizeof(*fp), GFP_KERNEL);
+       size = sizeof(*fp) + (phonet_rxq_size * sizeof(struct usb_request *));
+       fp = kzalloc(size, GFP_KERNEL);
        if (!fp)
                return -ENOMEM;
 
@@ -601,16 +597,13 @@ int __init gphonet_setup(struct usb_gadget *gadget)
 
        /* Create net device */
        BUG_ON(dev);
-       dev = alloc_netdev(sizeof(*port)
-               + (phonet_rxq_size * sizeof(struct usb_request *)),
-                               "upnlink%d", pn_net_setup);
+       dev = alloc_netdev(sizeof(*port), "upnlink%d", pn_net_setup);
        if (!dev)
                return -ENOMEM;
 
        port = netdev_priv(dev);
        spin_lock_init(&port->lock);
        netif_carrier_off(dev);
-       netif_stop_queue(dev);
        SET_NETDEV_DEV(dev, &gadget->dev);
 
        err = register_netdev(dev);