]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - include/linux/usb/usbnet.h
USBNET: centralize computing of max rx/tx qlen
[karo-tx-linux.git] / include / linux / usb / usbnet.h
index da46327fca173044b186943f8c7a044378d186cd..8fbc008e183e33704ddbc0f8cc63c3cd69b5f753 100644 (file)
@@ -34,6 +34,7 @@ struct usbnet {
        struct mutex            phy_mutex;
        unsigned char           suspend_count;
        unsigned char           pkt_cnt, pkt_err;
+       unsigned short          rx_qlen, tx_qlen;
 
        /* i/o info: pipes etc */
        unsigned                in, out;
@@ -56,6 +57,8 @@ struct usbnet {
        struct sk_buff_head     done;
        struct sk_buff_head     rxq_pause;
        struct urb              *interrupt;
+       unsigned                interrupt_count;
+       struct mutex            interrupt_mutex;
        struct usb_anchor       deferred;
        struct tasklet_struct   bh;
 
@@ -248,4 +251,9 @@ extern int usbnet_nway_reset(struct net_device *net);
 extern int usbnet_manage_power(struct usbnet *, int);
 extern void usbnet_link_change(struct usbnet *, bool, bool);
 
+extern int usbnet_status_start(struct usbnet *dev, gfp_t mem_flags);
+extern void usbnet_status_stop(struct usbnet *dev);
+
+extern void usbnet_update_max_qlen(struct usbnet *dev);
+
 #endif /* __LINUX_USB_USBNET_H */