X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fusb%2Fnet%2Frtl8150.c;h=640aa5b6809568539784de728783a468b17889c4;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=10de61868e99c678ff03ed8a647b5f4e21584995;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/drivers/usb/net/rtl8150.c b/drivers/usb/net/rtl8150.c index 10de61868..640aa5b68 100644 --- a/drivers/usb/net/rtl8150.c +++ b/drivers/usb/net/rtl8150.c @@ -160,14 +160,14 @@ struct rtl8150 { spinlock_t rx_pool_lock; struct usb_ctrlrequest dr; int intr_interval; - u16 rx_creg; + __le16 rx_creg; u8 *intr_buff; u8 phy; }; typedef struct rtl8150 rtl8150_t; -unsigned long multicast_filter_limit = 32; +static unsigned long multicast_filter_limit = 32; static void fill_skb_pool(rtl8150_t *); static void free_skb_pool(rtl8150_t *); @@ -265,7 +265,7 @@ static int read_mii_word(rtl8150_t * dev, u8 phy, __u8 indx, u16 * reg) if (i < MII_TIMEOUT) { get_registers(dev, PHYDAT, 2, data); - *reg = le16_to_cpup(data); + *reg = data[0] | (data[1] << 8); return 0; } else return 1; @@ -398,6 +398,21 @@ static void unlink_all_urbs(rtl8150_t * dev) usb_unlink_urb(dev->ctrl_urb); } +static inline struct sk_buff *pull_skb(rtl8150_t *dev) +{ + struct sk_buff *skb; + int i; + + for (i = 0; i < RX_SKB_POOL_SIZE; i++) { + if (dev->rx_skb_pool[i]) { + skb = dev->rx_skb_pool[i]; + dev->rx_skb_pool[i] = NULL; + return skb; + } + } + return NULL; +} + static void read_bulk_callback(struct urb *urb, struct pt_regs *regs) { rtl8150_t *dev; @@ -435,7 +450,7 @@ static void read_bulk_callback(struct urb *urb, struct pt_regs *regs) goto goon; res = urb->actual_length; - rx_stat = le16_to_cpu(*(short *)(urb->transfer_buffer + res - 4)); + rx_stat = le16_to_cpu(*(__le16 *)(urb->transfer_buffer + res - 4)); pkt_len = res - 4; skb_put(dev->rx_skb, pkt_len); @@ -516,7 +531,7 @@ static void write_bulk_callback(struct urb *urb, struct pt_regs *regs) netif_wake_queue(dev->netdev); } -void intr_callback(struct urb *urb, struct pt_regs *regs) +static void intr_callback(struct urb *urb, struct pt_regs *regs) { rtl8150_t *dev; __u8 *d; @@ -603,21 +618,6 @@ static void free_skb_pool(rtl8150_t *dev) dev_kfree_skb(dev->rx_skb_pool[i]); } -static inline struct sk_buff *pull_skb(rtl8150_t *dev) -{ - struct sk_buff *skb; - int i; - - for (i = 0; i < RX_SKB_POOL_SIZE; i++) { - if (dev->rx_skb_pool[i]) { - skb = dev->rx_skb_pool[i]; - dev->rx_skb_pool[i] = NULL; - return skb; - } - } - return NULL; -} - static int enable_net_traffic(rtl8150_t * dev) { u8 cr, tcr, rcr, msr; @@ -776,13 +776,13 @@ static int rtl8150_close(struct net_device *netdev) return res; } -static int rtl8150_ethtool_ioctl(struct net_device *netdev, void *uaddr) +static int rtl8150_ethtool_ioctl(struct net_device *netdev, void __user *uaddr) { rtl8150_t *dev; int cmd; dev = netdev->priv; - if (get_user(cmd, (int *) uaddr)) + if (get_user(cmd, (int __user *) uaddr)) return -EFAULT; switch (cmd) { @@ -856,7 +856,7 @@ static int rtl8150_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd) int res; dev = netdev->priv; - data = (u16 *) & rq->ifr_data; + data = (u16 *) & rq->ifr_ifru; res = 0; switch (cmd) { @@ -977,13 +977,13 @@ static void rtl8150_disconnect(struct usb_interface *intf) } } -int __init usb_rtl8150_init(void) +static int __init usb_rtl8150_init(void) { info(DRIVER_DESC " " DRIVER_VERSION); return usb_register(&rtl8150_driver); } -void __exit usb_rtl8150_exit(void) +static void __exit usb_rtl8150_exit(void) { usb_deregister(&rtl8150_driver); }