>From Ivo van Doorn <[EMAIL PROTECTED]> Misc. fixes * Compile fixes * Code style fixes previously overlooked * Better check of return values of functions
Signed-off-by: Ivo van Doorn <[EMAIL PROTECTED]> diff -rU3 wireless-dev-reginit/drivers/net/wireless/d80211/rt2x00/rt2400pci.c wireless-dev-misc/drivers/net/wireless/d80211/rt2x00/rt2400pci.c --- wireless-dev-reginit/drivers/net/wireless/d80211/rt2x00/rt2400pci.c 2006-07-26 15:39:52.000000000 +0200 +++ wireless-dev-misc/drivers/net/wireless/d80211/rt2x00/rt2400pci.c 2006-07-26 15:56:37.000000000 +0200 @@ -360,7 +360,7 @@ rt2x00dev, rt2x00_get_field32(reg, GPIOCSR_BIT0)); } #else /* CONFIG_RT2400PCI_BUTTON */ -static void rt2400pci_button_poll(struct rt2x00_dev *rt2x00dev){} +static void rt2400pci_button_poll(unsigned long data){} #endif /* CONFIG_RT2400PCI_BUTTON */ /* @@ -1520,7 +1520,7 @@ { struct ieee80211_hdr *ieee80211hdr; struct sk_buff *skb; - u16 temp; + u16 frame_control; skb = dev_alloc_skb(IEEE80211_HEADER); if (!skb) @@ -1532,8 +1532,8 @@ memcpy(skb_put(skb, IEEE80211_HEADER), hdr, IEEE80211_HEADER); ieee80211hdr = (struct ieee80211_hdr*)skb->data; - temp = (WLAN_FC_TYPE_CTRL << 2) | (WLAN_FC_STYPE_RTS << 4); - ieee80211hdr->frame_control = cpu_to_le16(temp); + frame_control = (WLAN_FC_TYPE_CTRL << 2) | (WLAN_FC_STYPE_RTS << 4); + ieee80211hdr->frame_control = cpu_to_le16(frame_control); ieee80211hdr->duration_id += cpu_to_le16(duration); @@ -1559,7 +1559,7 @@ u16 frame_control; u8 bitrate; int tx_rate; - + /* * Check which rate should be used for this frame. */ @@ -1593,16 +1593,16 @@ */ rt2x00_set_field32(&txd->word0, TXD_W0_RETRY_MODE, 0); - if (frame_control & WLAN_FC_MOREFRAG) + if (ieee80211_get_morefrag(ieee80211hdr)) rt2x00_set_field32(&txd->word0, TXD_W0_MORE_FRAG, 1); else rt2x00_set_field32(&txd->word0, TXD_W0_MORE_FRAG, 0); - + if (WLAN_FC_GET_STYPE(frame_control) == WLAN_FC_STYPE_RTS) rt2x00_set_field32(&txd->word0, TXD_W0_RTS, 1); else rt2x00_set_field32(&txd->word0, TXD_W0_RTS, 0); - + rt2x00_set_field32(&txd->word2, TXD_W2_DATABYTE_COUNT, skb->len); /* @@ -1613,10 +1613,9 @@ /* * Convert length to microseconds. */ - residual = get_duration_res(length, - DEVICE_GET_RATE_FIELD(tx_rate, RATE)); - length = get_duration(length, - DEVICE_GET_RATE_FIELD(tx_rate, RATE)); + bitrate = DEVICE_GET_RATE_FIELD(tx_rate, RATE); + residual = get_duration_res(length, bitrate); + length = get_duration(length, bitrate); if (residual) length++; @@ -2627,16 +2626,16 @@ for (i = 0; i < 13; i++) { channels[i].chan = i + 1; channels[i].freq = 2407 + ((i + 1) * 5); - channels[i].flag = IEEE80211_CHAN_W_IBSS - | IEEE80211_CHAN_W_ACTIVE_SCAN | IEEE80211_CHAN_W_SCAN; + channels[i].flag = IEEE80211_CHAN_W_IBSS | + IEEE80211_CHAN_W_ACTIVE_SCAN | IEEE80211_CHAN_W_SCAN; channels[i].val = cpu_to_le32(vals[i]); channels[i].antenna_max = 0xff; } channels[13].chan = 14; channels[13].freq = 2484; - channels[13].flag = IEEE80211_CHAN_W_IBSS - | IEEE80211_CHAN_W_ACTIVE_SCAN | IEEE80211_CHAN_W_SCAN; + channels[13].flag = IEEE80211_CHAN_W_IBSS | + IEEE80211_CHAN_W_ACTIVE_SCAN | IEEE80211_CHAN_W_SCAN; channels[13].val = cpu_to_le32(vals[13]); channels[13].antenna_max = 0xff; @@ -2852,9 +2851,10 @@ struct net_device *net_dev; int status; - if (pci_enable_device(pci_dev)) { + status = pci_enable_device(pci_dev); + if (status) { ERROR("Enable device failed.\n"); - return -EIO; + return status; } pci_set_master(pci_dev); @@ -2869,9 +2869,9 @@ goto exit_disable_device; } - if (pci_request_regions(pci_dev, pci_name(pci_dev))) { + status = pci_request_regions(pci_dev, pci_name(pci_dev)); + if (status) { ERROR("PCI request regions failed.\n"); - status = -EBUSY; goto exit_disable_device; } diff -rU3 wireless-dev-reginit/drivers/net/wireless/d80211/rt2x00/rt2500pci.c wireless-dev-misc/drivers/net/wireless/d80211/rt2x00/rt2500pci.c --- wireless-dev-reginit/drivers/net/wireless/d80211/rt2x00/rt2500pci.c 2006-07-26 15:39:52.000000000 +0200 +++ wireless-dev-misc/drivers/net/wireless/d80211/rt2x00/rt2500pci.c 2006-07-26 15:56:37.000000000 +0200 @@ -360,7 +360,7 @@ rt2x00dev, rt2x00_get_field32(reg, GPIOCSR_BIT0)); } #else /* CONFIG_RT2500PCI_BUTTON */ -static void rt2500pci_button_poll(struct rt2x00_dev *rt2x00dev){} +static void rt2500pci_button_poll(unsigned long data){} #endif /* CONFIG_RT2500PCI_BUTTON */ /* @@ -520,14 +520,12 @@ /* * Enable beacon config */ - if (ring) { - rt2x00_register_read(rt2x00dev, BCNCSR1, ®); - rt2x00_set_field32(®, BCNCSR1_PRELOAD, - PREAMBLE + get_duration(IEEE80211_HEADER, 2)); - rt2x00_set_field32(®, BCNCSR1_BEACON_CWMIN, - rt2x00dev->ring[RING_BEACON].tx_params.cw_min); - rt2x00_register_write(rt2x00dev, BCNCSR1, reg); - } + rt2x00_register_read(rt2x00dev, BCNCSR1, ®); + rt2x00_set_field32(®, BCNCSR1_PRELOAD, + PREAMBLE + get_duration(IEEE80211_HEADER, 2)); + rt2x00_set_field32(®, BCNCSR1_BEACON_CWMIN, + rt2x00dev->ring[RING_BEACON].tx_params.cw_min); + rt2x00_register_write(rt2x00dev, BCNCSR1, reg); /* * Enable synchronisation. @@ -1642,7 +1640,7 @@ { struct ieee80211_hdr *ieee80211hdr; struct sk_buff *skb; - u16 temp; + u16 frame_control; skb = dev_alloc_skb(IEEE80211_HEADER); if (!skb) @@ -1654,8 +1652,8 @@ memcpy(skb_put(skb, IEEE80211_HEADER), hdr, IEEE80211_HEADER); ieee80211hdr = (struct ieee80211_hdr*)skb->data; - temp = (WLAN_FC_TYPE_CTRL << 2) | (WLAN_FC_STYPE_RTS << 4); - ieee80211hdr->frame_control = cpu_to_le16(temp); + frame_control = (WLAN_FC_TYPE_CTRL << 2) | (WLAN_FC_STYPE_RTS << 4); + ieee80211hdr->frame_control = cpu_to_le16(frame_control); ieee80211hdr->duration_id += cpu_to_le16(duration); @@ -1679,7 +1677,6 @@ u16 length_low; u16 signal; u16 service; - u8 rate; u16 frame_control; u8 bitrate; int tx_rate; @@ -1721,7 +1718,7 @@ */ rt2x00_set_field32(&txd->word0, TXD_W0_RETRY_MODE, 0); - if (frame_control & WLAN_FC_MOREFRAG) + if (ieee80211_get_morefrag(ieee80211hdr)) rt2x00_set_field32(&txd->word0, TXD_W0_MORE_FRAG, 1); else rt2x00_set_field32(&txd->word0, TXD_W0_MORE_FRAG, 0); @@ -1758,12 +1755,12 @@ length_low = (length & 0x3f); } else { - rate = DEVICE_GET_RATE_FIELD(tx_rate, RATE); + bitrate = DEVICE_GET_RATE_FIELD(tx_rate, RATE); rt2x00_set_field32(&txd->word0, TXD_W0_OFDM, 0); - residual = get_duration_res(length, rate); - length = get_duration(length, rate); + residual = get_duration_res(length, bitrate); + length = get_duration(length, bitrate); if (residual != 0) length++; @@ -2032,6 +2029,7 @@ return IRQ_HANDLED; } + /* * IEEE80211 stack callback functions. */ @@ -2786,15 +2784,15 @@ for (i = 0; i < 13; i++) { channels[i].chan = i + 1; channels[i].freq = 2407 + ((i + 1) * 5); - channels[i].flag = IEEE80211_CHAN_W_IBSS - | IEEE80211_CHAN_W_ACTIVE_SCAN | IEEE80211_CHAN_W_SCAN; + channels[i].flag = IEEE80211_CHAN_W_IBSS | + IEEE80211_CHAN_W_ACTIVE_SCAN | IEEE80211_CHAN_W_SCAN; channels[i].antenna_max = 0xff; } channels[13].chan = 14; channels[13].freq = 2484; - channels[13].flag = IEEE80211_CHAN_W_IBSS - | IEEE80211_CHAN_W_ACTIVE_SCAN | IEEE80211_CHAN_W_SCAN; + channels[13].flag = IEEE80211_CHAN_W_IBSS | + IEEE80211_CHAN_W_ACTIVE_SCAN | IEEE80211_CHAN_W_SCAN; channels[13].antenna_max = 0xff; if (rt2x00_rf(&rt2x00dev->chip, RF5222)) { @@ -2807,9 +2805,9 @@ channels[i].chan = 149; channels[i].chan += ((i - 14) * 4); channels[i].freq = ((i - 13) + 1000) * 5; - channels[i].flag = IEEE80211_CHAN_W_IBSS - | IEEE80211_CHAN_W_ACTIVE_SCAN - | IEEE80211_CHAN_W_SCAN; + channels[i].flag = IEEE80211_CHAN_W_IBSS | + IEEE80211_CHAN_W_ACTIVE_SCAN | + IEEE80211_CHAN_W_SCAN; channels[i].power_level = DEFAULT_TXPOWER; channels[i].antenna_max = 0xff; } @@ -3136,9 +3134,10 @@ struct net_device *net_dev; int status; - if (pci_enable_device(pci_dev)) { + status = pci_enable_device(pci_dev); + if (status) { ERROR("Enable device failed.\n"); - return -EIO; + return status; } pci_set_master(pci_dev); @@ -3153,9 +3152,9 @@ goto exit_disable_device; } - if (pci_request_regions(pci_dev, pci_name(pci_dev))) { + status = pci_request_regions(pci_dev, pci_name(pci_dev)); + if (status) { ERROR("PCI request regions failed.\n"); - status = -EBUSY; goto exit_disable_device; } diff -rU3 wireless-dev-reginit/drivers/net/wireless/d80211/rt2x00/rt2500usb.c wireless-dev-misc/drivers/net/wireless/d80211/rt2x00/rt2500usb.c --- wireless-dev-reginit/drivers/net/wireless/d80211/rt2x00/rt2500usb.c 2006-07-26 15:39:52.000000000 +0200 +++ wireless-dev-misc/drivers/net/wireless/d80211/rt2x00/rt2500usb.c 2006-07-26 15:56:37.000000000 +0200 @@ -1402,7 +1402,7 @@ { struct ieee80211_hdr *ieee80211hdr; struct sk_buff *skb; - u16 temp; + u16 frame_control; skb = dev_alloc_skb(IEEE80211_HEADER); if (!skb) @@ -1414,8 +1414,8 @@ memcpy(skb_put(skb, IEEE80211_HEADER), hdr, IEEE80211_HEADER); ieee80211hdr = (struct ieee80211_hdr*)skb->data; - temp = (WLAN_FC_TYPE_CTRL << 2) | (WLAN_FC_STYPE_RTS << 4); - ieee80211hdr->frame_control = cpu_to_le16(temp); + frame_control = (WLAN_FC_TYPE_CTRL << 2) | (WLAN_FC_STYPE_RTS << 4); + ieee80211hdr->frame_control = cpu_to_le16(frame_control); ieee80211hdr->duration_id += cpu_to_le16(duration); @@ -1435,11 +1435,11 @@ struct data_ring *ring; u32 length; u32 residual; + u16 frame_control; u8 length_high; u8 length_low; u8 signal; u8 service; - u16 frame_control; u8 bitrate; int tx_rate; @@ -1477,7 +1477,7 @@ rt2x00_set_field32(&txd->word0, TXD_W0_RETRY_LIMIT, control->retry_limit); - if (frame_control & WLAN_FC_MOREFRAG) + if (ieee80211_get_morefrag(ieee80211hdr)) rt2x00_set_field32(&txd->word0, TXD_W0_MORE_FRAG, 1); else rt2x00_set_field32(&txd->word0, TXD_W0_MORE_FRAG, 0); @@ -1514,12 +1514,12 @@ length_low = (length & 0x3f); } else { - rate = DEVICE_GET_RATE_FIELD(tx_rate, RATE); + bitrate = DEVICE_GET_RATE_FIELD(tx_rate, RATE); rt2x00_set_field32(&txd->word0, TXD_W0_OFDM, 0); - residual = get_duration_res(length, rate); - length = get_duration(length, rate); + residual = get_duration_res(length, bitrate); + length = get_duration(length, bitrate); if (residual != 0) length++; @@ -2462,15 +2462,15 @@ for (i = 0; i < 13; i++) { channels[i].chan = i + 1; channels[i].freq = 2407 + ((i + 1) * 5); - channels[i].flag = IEEE80211_CHAN_W_IBSS - | IEEE80211_CHAN_W_ACTIVE_SCAN | IEEE80211_CHAN_W_SCAN; + channels[i].flag = IEEE80211_CHAN_W_IBSS | + IEEE80211_CHAN_W_ACTIVE_SCAN | IEEE80211_CHAN_W_SCAN; channels[i].antenna_max = 0xff; } channels[13].chan = 14; channels[13].freq = 2484; - channels[13].flag = IEEE80211_CHAN_W_IBSS - | IEEE80211_CHAN_W_ACTIVE_SCAN | IEEE80211_CHAN_W_SCAN; + channels[13].flag = IEEE80211_CHAN_W_IBSS | + IEEE80211_CHAN_W_ACTIVE_SCAN | IEEE80211_CHAN_W_SCAN; channels[13].antenna_max = 0xff; if (rt2x00_rf(&rt2x00dev->chip, RF5222)) { @@ -2483,9 +2483,9 @@ channels[i].chan = 149; channels[i].chan += ((i - 14) * 4); channels[i].freq = ((i - 13) + 1000) * 5; - channels[i].flag = IEEE80211_CHAN_W_IBSS - | IEEE80211_CHAN_W_ACTIVE_SCAN - | IEEE80211_CHAN_W_SCAN; + channels[i].flag = IEEE80211_CHAN_W_IBSS | + IEEE80211_CHAN_W_ACTIVE_SCAN | + IEEE80211_CHAN_W_SCAN; channels[i].power_level = DEFAULT_TXPOWER; channels[i].antenna_max = 0xff; } @@ -2953,7 +2953,7 @@ { USB_DEVICE(0x0eb0, 0x9020) }, /* Zinwell */ { USB_DEVICE(0x5a57, 0x0260) }, - {0,} + { 0, } }; MODULE_AUTHOR(DRV_PROJECT); diff -rU3 wireless-dev-reginit/drivers/net/wireless/d80211/rt2x00/rt2x00.h wireless-dev-misc/drivers/net/wireless/d80211/rt2x00/rt2x00.h --- wireless-dev-reginit/drivers/net/wireless/d80211/rt2x00/rt2x00.h 2006-07-26 15:39:43.000000000 +0200 +++ wireless-dev-misc/drivers/net/wireless/d80211/rt2x00/rt2x00.h 2006-07-26 15:56:37.000000000 +0200 @@ -107,6 +107,19 @@ #define CLEAR_FLAGS(__dev) ( (__dev)->flags = 0 ) /* + * Standard timning and size defines. + */ +#define ACK_SIZE 14 +#define IEEE80211_HEADER 24 +#define PLCP 48 +#define BEACON 100 +#define SIFS 10 +#define PREAMBLE 144 +#define SHORT_PREAMBLE 72 +#define SLOT_TIME 20 +#define SHORT_SLOT_TIME 7 + +/* * TX result flags. */ enum TX_STATUS { @@ -451,7 +464,7 @@ * and the data buffer. For TX rings the reference to the * sk_buff of the packet being transmitted is also stored here. */ -struct data_entry{ +struct data_entry { /* * Status flags */ @@ -1022,14 +1035,4 @@ return ((size * 8 * 10) % rate); } -#define ACK_SIZE 14 -#define IEEE80211_HEADER 24 -#define PLCP 48 -#define BEACON 100 -#define SIFS 10 -#define PREAMBLE 144 -#define SHORT_PREAMBLE 72 -#define SLOT_TIME 20 -#define SHORT_SLOT_TIME 7 - #endif /* RT2X00_H */ diff -rU3 wireless-dev-reginit/drivers/net/wireless/d80211/rt2x00/rt2x00pci.h wireless-dev-misc/drivers/net/wireless/d80211/rt2x00/rt2x00pci.h --- wireless-dev-reginit/drivers/net/wireless/d80211/rt2x00/rt2x00pci.h 2006-07-26 15:39:37.000000000 +0200 +++ wireless-dev-misc/drivers/net/wireless/d80211/rt2x00/rt2x00pci.h 2006-07-26 15:56:37.000000000 +0200 @@ -151,7 +151,7 @@ } #else /* CONFIG_RT2X00_BUTTON */ static inline void rt2x00pci_button_start(struct rt2x00_dev *rt2x00dev, - int (*handler)(struct rt2x00_dev *rt2x00dev)){} + void (*handler)(unsigned long data)){} static inline void rt2x00pci_button_stop(struct rt2x00_dev *rt2x00dev){} #endif /* CONFIG_RT2X00_BUTTON */ diff -rU3 wireless-dev-reginit/drivers/net/wireless/d80211/rt2x00/rt2x00usb.h wireless-dev-misc/drivers/net/wireless/d80211/rt2x00/rt2x00usb.h --- wireless-dev-reginit/drivers/net/wireless/d80211/rt2x00/rt2x00usb.h 2006-07-26 15:39:37.000000000 +0200 +++ wireless-dev-misc/drivers/net/wireless/d80211/rt2x00/rt2x00usb.h 2006-07-26 15:56:37.000000000 +0200 @@ -84,9 +84,9 @@ struct usb_device *usb_dev = interface_to_usbdev( rt2x00dev_usb(rt2x00dev)); int status; - u8 counter; + unsigned int i; - for (counter = 0; counter < REGISTER_BUSY_COUNT; counter++) { + for (i = 0; i < REGISTER_BUSY_COUNT; i++) { status = usb_control_msg( usb_dev, (type == USB_VENDOR_REQUEST_IN) ? diff -rU3 wireless-dev-reginit/drivers/net/wireless/d80211/rt2x00/rt61pci.c wireless-dev-misc/drivers/net/wireless/d80211/rt2x00/rt61pci.c --- wireless-dev-reginit/drivers/net/wireless/d80211/rt2x00/rt61pci.c 2006-07-26 15:39:52.000000000 +0200 +++ wireless-dev-misc/drivers/net/wireless/d80211/rt2x00/rt61pci.c 2006-07-26 15:57:18.000000000 +0200 @@ -391,7 +391,7 @@ rt2x00dev, rt2x00_get_field32(reg, MAC_CSR13_BIT5)); } #else /* CONFIG_RT61PCI_BUTTON */ -static void rt61pci_button_poll(struct rt2x00_dev *rt2x00dev){} +static void rt61pci_button_poll(unsigned long data){} #endif /* CONFIG_RT61PCI_BUTTON */ /* @@ -1591,7 +1591,7 @@ rt2x00_set_field32(&txd->word1, TXD_W1_BUFFER_COUNT, 1); rt2x00_set_field32(&txd->word6, TXD_W6_BUFFER_PHYSICAL_ADDRESS, ring->entry[i].data_dma); - rt2x00_set_field32(&txd->word5, TXD_W5_PID_TYPE, type); + rt2x00_set_field32(&txd->word5, TXD_W5_PID_TYPE, ring_type); rt2x00_set_field32(&txd->word5, TXD_W5_PID_SUBTYPE, i); } @@ -2073,7 +2073,7 @@ { struct ieee80211_hdr *ieee80211hdr; struct sk_buff *skb; - u16 temp; + u16 frame_control; skb = dev_alloc_skb(IEEE80211_HEADER); if (!skb) @@ -2085,8 +2085,8 @@ memcpy(skb_put(skb, IEEE80211_HEADER), hdr, IEEE80211_HEADER); ieee80211hdr = (struct ieee80211_hdr*)skb->data; - temp = (WLAN_FC_TYPE_CTRL << 2) | (WLAN_FC_STYPE_RTS << 4); - ieee80211hdr->frame_control = cpu_to_le16(temp); + frame_control = (WLAN_FC_TYPE_CTRL << 2) | (WLAN_FC_STYPE_RTS << 4); + ieee80211hdr->frame_control = cpu_to_le16(frame_control); ieee80211hdr->duration_id += cpu_to_le16(duration); @@ -2110,7 +2110,6 @@ u16 length_low; u16 signal; u16 service; - u8 rate; u16 frame_control; u8 bitrate; int tx_rate; @@ -2152,7 +2151,7 @@ */ rt2x00_set_field32(&txd->word0, TXD_W0_RETRY_MODE, 0); - if (frame_control & WLAN_FC_MOREFRAG) + if (ieee80211_get_morefrag(ieee80211hdr)) rt2x00_set_field32(&txd->word0, TXD_W0_MORE_FRAG, 1); else rt2x00_set_field32(&txd->word0, TXD_W0_MORE_FRAG, 0); @@ -2203,12 +2202,12 @@ length_low = (length & 0x3f); } else { - rate = DEVICE_GET_RATE_FIELD(tx_rate, RATE); + bitrate = DEVICE_GET_RATE_FIELD(tx_rate, RATE); rt2x00_set_field32(&txd->word0, TXD_W0_OFDM, 0); - residual = get_duration_res(length, rate); - length = get_duration(length, rate); + residual = get_duration_res(length, bitrate); + length = get_duration(length, bitrate); if (residual != 0) length++; @@ -2313,13 +2312,11 @@ rt2x00_ring_index_inc(ring); } - if (total_rssi && rssi_count) - total_rssi /= rssi_count; - /* * Tune link for optimal performance. */ - rt61pci_link_tuner(rt2x00dev, total_rssi); + if (total_rssi && rssi_count) + rt61pci_link_tuner(rt2x00dev, total_rssi / rssi_count); /* * Update LED. @@ -2500,40 +2497,15 @@ &rt2x00dev->ring[RING_RX].irq_work); /* - * 3 - AC_BK ring transmit done interrupt. + * 3 - Tx ring done interrupt. + * Don't care about which ring we use to schedule + * work to. The handler will run for all TX + * related rings except Beacon. */ - if (rt2x00_get_field32(reg, INT_SOURCE_CSR_AC0_DMA_DONE)) + if (rt2x00_get_field32(reg, INT_SOURCE_CSR_TXDONE)) queue_work(rt2x00dev->workqueue, &rt2x00dev->ring[RING_AC_BK].irq_work); - /* - * 4 - AC_BE ring transmit done interrupt. - */ - if (rt2x00_get_field32(reg, INT_SOURCE_CSR_AC1_DMA_DONE)) - queue_work(rt2x00dev->workqueue, - &rt2x00dev->ring[RING_AC_BE].irq_work); - - /* - * 5 - AC_VI ring transmit done interrupt. - */ - if (rt2x00_get_field32(reg, INT_SOURCE_CSR_AC2_DMA_DONE)) - queue_work(rt2x00dev->workqueue, - &rt2x00dev->ring[RING_AC_VI].irq_work); - - /* - * 6 - AC_VO ring transmit done interrupt. - */ - if (rt2x00_get_field32(reg, INT_SOURCE_CSR_AC3_DMA_DONE)) - queue_work(rt2x00dev->workqueue, - &rt2x00dev->ring[RING_AC_VO].irq_work); - - /* - * 7 - PRIO ring transmit done interrupt. - */ - if (rt2x00_get_field32(reg, INT_SOURCE_CSR_MGMT_DMA_DONE)) - queue_work(rt2x00dev->workqueue, - &rt2x00dev->ring[RING_PRIO].irq_work); - return IRQ_HANDLED; } @@ -3329,15 +3301,15 @@ for (i = 0; i < 13; i++) { channels[i].chan = i + 1; channels[i].freq = 2407 + ((i + 1) * 5); - channels[i].flag = IEEE80211_CHAN_W_IBSS - | IEEE80211_CHAN_W_ACTIVE_SCAN | IEEE80211_CHAN_W_SCAN; + channels[i].flag = IEEE80211_CHAN_W_IBSS | + IEEE80211_CHAN_W_ACTIVE_SCAN | IEEE80211_CHAN_W_SCAN; channels[i].antenna_max = 0xff; } channels[13].chan = 14; channels[13].freq = 2484; - channels[13].flag = IEEE80211_CHAN_W_IBSS - | IEEE80211_CHAN_W_ACTIVE_SCAN | IEEE80211_CHAN_W_SCAN; + channels[13].flag = IEEE80211_CHAN_W_IBSS | + IEEE80211_CHAN_W_ACTIVE_SCAN | IEEE80211_CHAN_W_SCAN; channels[13].antenna_max = 0xff; if (rt2x00_rf(&rt2x00dev->chip, RF5225) || @@ -3351,9 +3323,9 @@ channels[i].chan = 149; channels[i].chan += ((i - 14) * 4); channels[i].freq = ((i - 13) + 1000) * 5; - channels[i].flag = IEEE80211_CHAN_W_IBSS - | IEEE80211_CHAN_W_ACTIVE_SCAN - | IEEE80211_CHAN_W_SCAN; + channels[i].flag = IEEE80211_CHAN_W_IBSS | + IEEE80211_CHAN_W_ACTIVE_SCAN | + IEEE80211_CHAN_W_SCAN; channels[i].antenna_max = 0xff; } } @@ -3693,9 +3665,10 @@ struct net_device *net_dev; int status; - if (pci_enable_device(pci_dev)) { + status = pci_enable_device(pci_dev); + if (status) { ERROR("Enable device failed.\n"); - return -EIO; + return status; } pci_set_master(pci_dev); @@ -3710,9 +3683,9 @@ goto exit_disable_device; } - if (pci_request_regions(pci_dev, pci_name(pci_dev))) { + status = pci_request_regions(pci_dev, pci_name(pci_dev)); + if (status) { ERROR("PCI request regions failed.\n"); - status = -EBUSY; goto exit_disable_device; } diff -rU3 wireless-dev-reginit/drivers/net/wireless/d80211/rt2x00/rt73usb.c wireless-dev-misc/drivers/net/wireless/d80211/rt2x00/rt73usb.c --- wireless-dev-reginit/drivers/net/wireless/d80211/rt2x00/rt73usb.c 2006-07-26 15:39:52.000000000 +0200 +++ wireless-dev-misc/drivers/net/wireless/d80211/rt2x00/rt73usb.c 2006-07-26 15:59:09.000000000 +0200 @@ -1669,7 +1669,7 @@ { struct ieee80211_hdr *ieee80211hdr; struct sk_buff *skb; - u16 temp; + u16 frame_control; skb = dev_alloc_skb(IEEE80211_HEADER); if (!skb) @@ -1681,8 +1681,8 @@ memcpy(skb_put(skb, IEEE80211_HEADER), hdr, IEEE80211_HEADER); ieee80211hdr = (struct ieee80211_hdr*)skb->data; - temp = (WLAN_FC_TYPE_CTRL << 2) | (WLAN_FC_STYPE_RTS << 4); - ieee80211hdr->frame_control = cpu_to_le16(temp); + frame_control = (WLAN_FC_TYPE_CTRL << 2) | (WLAN_FC_STYPE_RTS << 4); + ieee80211hdr->frame_control = cpu_to_le16(frame_control); ieee80211hdr->duration_id += cpu_to_le16(duration); @@ -1706,7 +1706,6 @@ u16 length_low; u16 signal; u16 service; - u8 rate; u16 frame_control; u8 bitrate; int tx_rate; @@ -1748,7 +1747,7 @@ */ rt2x00_set_field32(&txd->word0, TXD_W0_RETRY_MODE, 0); - if (frame_control & WLAN_FC_MOREFRAG) + if (ieee80211_get_morefrag(ieee80211hdr)) rt2x00_set_field32(&txd->word0, TXD_W0_MORE_FRAG, 1); else rt2x00_set_field32(&txd->word0, TXD_W0_MORE_FRAG, 0); @@ -1798,12 +1797,12 @@ length_low = (length & 0x3f); } else { - rate = DEVICE_GET_RATE_FIELD(tx_rate, RATE); + bitrate = DEVICE_GET_RATE_FIELD(tx_rate, RATE); rt2x00_set_field32(&txd->word0, TXD_W0_OFDM, 0); - residual = get_duration_res(length, rate); - length = get_duration(length, rate); + residual = get_duration_res(length, bitrate); + length = get_duration(length, bitrate); if (residual != 0) length++; @@ -1889,11 +1888,7 @@ continue; } - /* - * Received USB packets have 4 bytes of extra data. - */ size = rt2x00_get_field32(rxd->word0, RXD_W0_DATABYTE_COUNT); - size -= 4; /* * TODO: Don't we need to keep statistics @@ -1926,13 +1921,11 @@ rt2x00_ring_index_inc(ring); } - if (total_rssi && rssi_count) - total_rssi /= rssi_count; - /* * Tune link for optimal performance. */ - rt73usb_link_tuner(rt2x00dev, total_rssi); + if (total_rssi && rssi_count) + rt73usb_link_tuner(rt2x00dev, total_rssi / rssi_count); /* * Update LED. @@ -2837,15 +2830,15 @@ for (i = 0; i < 13; i++) { channels[i].chan = i + 1; channels[i].freq = 2407 + ((i + 1) * 5); - channels[i].flag = IEEE80211_CHAN_W_IBSS - | IEEE80211_CHAN_W_ACTIVE_SCAN | IEEE80211_CHAN_W_SCAN; + channels[i].flag = IEEE80211_CHAN_W_IBSS | + IEEE80211_CHAN_W_ACTIVE_SCAN | IEEE80211_CHAN_W_SCAN; channels[i].antenna_max = 0xff; } channels[13].chan = 14; channels[13].freq = 2484; - channels[13].flag = IEEE80211_CHAN_W_IBSS - | IEEE80211_CHAN_W_ACTIVE_SCAN | IEEE80211_CHAN_W_SCAN; + channels[13].flag = IEEE80211_CHAN_W_IBSS | + IEEE80211_CHAN_W_ACTIVE_SCAN | IEEE80211_CHAN_W_SCAN; channels[13].antenna_max = 0xff; if (rt2x00_rf(&rt2x00dev->chip, RF5225) || @@ -2859,9 +2852,9 @@ channels[i].chan = 149; channels[i].chan += ((i - 14) * 4); channels[i].freq = ((i - 13) + 1000) * 5; - channels[i].flag = IEEE80211_CHAN_W_IBSS - | IEEE80211_CHAN_W_ACTIVE_SCAN - | IEEE80211_CHAN_W_SCAN; + channels[i].flag = IEEE80211_CHAN_W_IBSS | + IEEE80211_CHAN_W_ACTIVE_SCAN | + IEEE80211_CHAN_W_SCAN; channels[i].antenna_max = 0xff; } } @@ -3133,6 +3126,7 @@ rt73usb_init_hw_modes(rt2x00dev)) { ERROR("Failed to initialize device.\n"); goto exit; + } if (rt73usb_init_firmware(rt2x00dev)) { ERROR("Failed to load Firmware.\n"); - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html