de4x5 fixes
[safe/jmp/linux-2.6] / drivers / net / wireless / orinoco.c
index 936c888..ca6c2da 100644 (file)
@@ -689,7 +689,7 @@ static void orinoco_stat_gather(struct net_device *dev,
        /* Note : gcc will optimise the whole section away if
         * WIRELESS_SPY is not defined... - Jean II */
        if (SPY_NUMBER(priv)) {
-               orinoco_spy_gather(dev, skb->mac.raw + ETH_ALEN,
+               orinoco_spy_gather(dev, skb_mac_header(skb) + ETH_ALEN,
                                   desc->signal, desc->silence);
        }
 }
@@ -770,7 +770,7 @@ static void orinoco_rx_monitor(struct net_device *dev, u16 rxfid,
 
        /* Copy the 802.11 header to the skb */
        memcpy(skb_put(skb, hdrlen), &(desc->frame_ctl), hdrlen);
-       skb->mac.raw = skb->data;
+       skb_reset_mac_header(skb);
 
        /* If any, copy the data from the card to the skb */
        if (datalen > 0) {
@@ -915,7 +915,6 @@ static void __orinoco_ev_rx(struct net_device *dev, hermes_t *hw)
                memcpy(hdr->h_source, desc.addr2, ETH_ALEN);
 
        dev->last_rx = jiffies;
-       skb->dev = dev;
        skb->protocol = eth_type_trans(skb, dev);
        skb->ip_summed = CHECKSUM_NONE;
        if (fc & IEEE80211_FCTL_TODS)
@@ -2059,7 +2058,7 @@ static int determine_firmware(struct net_device *dev)
        int err;
        struct comp_id nic_id, sta_id;
        unsigned int firmver;
-       char tmp[SYMBOL_MAX_VER_LEN+1];
+       char tmp[SYMBOL_MAX_VER_LEN+1] __attribute__((aligned(2)));
 
        /* Get the hardware version */
        err = HERMES_READ_RECORD(hw, USER_BAP, HERMES_RID_NICID, &nic_id);
@@ -2233,6 +2232,7 @@ static int orinoco_init(struct net_device *dev)
        struct hermes_idstring nickbuf;
        u16 reclen;
        int len;
+       DECLARE_MAC_BUF(mac);
 
        /* No need to lock, the hw_unavailable flag is already set in
         * alloc_orinocodev() */
@@ -2275,10 +2275,8 @@ static int orinoco_init(struct net_device *dev)
                goto out;
        }
 
-       printk(KERN_DEBUG "%s: MAC address %02X:%02X:%02X:%02X:%02X:%02X\n",
-              dev->name, dev->dev_addr[0], dev->dev_addr[1],
-              dev->dev_addr[2], dev->dev_addr[3], dev->dev_addr[4],
-              dev->dev_addr[5]);
+       printk(KERN_DEBUG "%s: MAC address %s\n",
+              dev->name, print_mac(mac, dev->dev_addr));
 
        /* Get the station name */
        err = hermes_read_ltv(hw, USER_BAP, HERMES_RID_CNFOWNNAME,
@@ -4293,8 +4291,8 @@ static void orinoco_get_drvinfo(struct net_device *dev,
        strncpy(info->driver, DRIVER_NAME, sizeof(info->driver) - 1);
        strncpy(info->version, DRIVER_VERSION, sizeof(info->version) - 1);
        strncpy(info->fw_version, priv->fw_name, sizeof(info->fw_version) - 1);
-       if (dev->class_dev.dev)
-               strncpy(info->bus_info, dev->class_dev.dev->bus_id,
+       if (dev->dev.parent)
+               strncpy(info->bus_info, dev->dev.parent->bus_id,
                        sizeof(info->bus_info) - 1);
        else
                snprintf(info->bus_info, sizeof(info->bus_info) - 1,