vserver 1.9.3
[linux-2.6.git] / drivers / usb / net / rtl8150.c
index d9d09e9..640aa5b 100644 (file)
@@ -160,7 +160,7 @@ 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;
 };
@@ -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;
@@ -450,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);