summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2008-11-26Merge branch 'master' of ↵David S. Miller20-57/+160
master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/hp-plus.c drivers/net/wireless/ath5k/base.c drivers/net/wireless/ath9k/recv.c net/wireless/reg.c
2008-11-26cxgb3: Update FW loading path.Divy Le Ray1-2/+2
Update FW loading path to accomodate in-kernel images location Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-11-26cxgb3: avoid potential memory leak.Divy Le Ray1-3/+2
Add consistency in alloc_ring() parameter checking to avoid potential memory leaks. alloc_ring() callers are correct fo far. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-11-26cxgb3: set hard_xmit in the netdev_opsDivy Le Ray1-0/+1
Fix t3_eth_xmit() missing into the netdev_ops structure. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-11-26Merge branch 'master' of ↵David S. Miller66-5900/+5912
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
2008-11-26mac80211_hwsim: fix-up some print_mac merge damageJohn W. Linville1-8/+6
Some print_mac -> %pM conversions got lost in some merge or another... Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26p54: fix wmm queue settingsChristian Lamparter1-2/+1
This patch fixes a regression (introduced by "p54: more definitions form lmac_longbow.h and pda.h") It turned out that the "ret" variable wasn't initialized and this caused the following warnings/errors to appear: wmaster1: failed to set TX queue parameters for queue 2 wmaster1: failed to set TX queue parameters for queue 3 wmaster1: failed to set TX queue parameters for queue 1 wmaster1: failed to set TX queue parameters for queue 0 Signed-off-by: Christian Lamparter <chunkeey@web.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: Use proper TX channel width for setting channelsSujith4-69/+60
The TX channel width of the BSS can be obtained only after association. In all cases, default to HT20 if HT is enabled, and set chan width to HT40 only if the BSS supports it. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: Code scrubSujith8-1865/+1231
Merge core.c and base.c Remove Antenna Diversity (unused now). Remove unused chainmask handling code. Comment, indentation scrub. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26orinoco: Provide option to avoid unnecessary fw cachingDavid Kilroy3-0/+75
Make firmware caching on startup optional, and make it default. When the option is not selected and PM_SLEEP is configured, then cache firmware in the suspend pm_notifier. This configuration saves about 64k RAM in normal use, but can lead to a situation where the driver is configured to use a different firmware. Signed-off by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26orinoco: Resume spectrum_cs in the same way as orinoco_csDavid Kilroy1-1/+20
Retrieval of external firmware has been resolved, and should work with the standard orinoco resume algorithm. This fixes an issue where priv->hw_unavailable indicates the card is ready when firmware has not been loaded. Signed-off by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26orinoco: Cache Symbol firmwareDavid Kilroy2-15/+34
Signed-off by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26orinoco: Separate fw caching from downloadDavid Kilroy1-15/+38
This refactorring will make it easier to share logic with Symbol firmware. Signed-off by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: Handle -ENOMEM on RX gracefullyLuis R. Rodriguez1-31/+26
We would get an oops on RX on -ENOMEM by passing NULL to the hardware on ath_rx_buf_link(). The oops would look something like this: ath_rx_tasklet+0x515/0x53b ath9k_tasklet+0x48 tasklet_action __do_softirq irq_exit do_IRQ RIP: ath_rx_buf_link+0x3a We correct this by handling the requeue directly on the ath_rx_tasklet() and trying to allocate an skb *prior* to sending up the last hardware processed skb. If we run out of memory this gauranteees we have skbs to work with while it simply drops new received frames. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath5k: Clean up eeprom parsing and add missing calibration dataFelix Fietkau4-192/+1264
This patch brings the ath5k eeprom parsing code in sync with the work done on ath_info by Nick Kossifidis and integrates the missing parts based on the code of the Atheros Legacy HAL release. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: Dont update rate control for every AMPDUVasanthakumar Thiagarajan3-1/+5
Update the rate control only with the tx status of first AMPDU of an aggregation. This patch fixes frequent drops in throughput. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26iwlwifi: TX update chicken bitsWinkler, Tomas3-0/+17
This instructs FH to increment the retry count of a packet when it is brought from the memory to TX-FIFO to save transactions during aggregation flow. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26iwlwifi: TX setup fix confusion between TX queue and TX DMA channelWinkler, Tomas3-8/+16
This patch configures correctly TX DMA channel. It is not the same as TX queue. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Acked-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26iwlwifi: 4965 define firmware file name onceWinkler, Tomas1-2/+3
Apply same idiom as in 5000 introduced by 'iwlwifi: define firmware file name once' Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26iwlwifi: enable base band calibration in 5000 HWTomas Winkler2-2/+7
This patch adds base band calibration support. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26iwlwifi: move iwl_clear_stations_table to iwl-sta.cWinkler, Tomas4-23/+25
This patch moves iwl_clear_stations_table into iwl-sta.c Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26iwl3945 : Fix ad-hoc mode for 3945Abhijeet Kolekar1-4/+1
Patch fixes the ad-hoc mode by 1) Removing redundant clear_stations_table which prevented generation of beacons. 2) Setting assoc_id to 1. It was never set so preventing tx flow in iwl3945_tx_skb. Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath5k: set mac address in add_interfaceBob Copeland2-11/+14
Configure the mac address in add_interface and clear it in remove_interface so that users can change the mac address to something other than the one in the eeprom. Also avoid setting it at attach time so that we won't ack packets until fully set up. Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: Use straightforward PCI routines to setup the TX buffer.Sujith1-16/+7
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: Update TX trigger level on a FIFO underrun.Sujith1-1/+3
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: Fix bug in deciphering channel flagsSujith2-7/+7
CHANNEL_CCK flag is set for all 2 Ghz channels, so IS_CHAN_CCK() would turn out to be true for all channles in that band. Use IS_CHAN_B() now, which checks the channel mode and not the channel flags. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: Move TX completion routine to xmit.cSujith3-65/+56
Also, use a helper function to setup RC status data when processing completed TX descriptors. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: Use helpersSujith2-197/+194
Break down huge functions, use helper functions or macros instead. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: General code scrubSujith6-412/+277
Replace TRUE/FALSE macros with VALID/INVALID macros. Follow a consistent variable convention. Remove unnecessary comments. Add all RC phy macros into a single enum. Merge functions into reasonably sized entities. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: Remove ath9k_rate_tableSujith10-374/+132
Maintaining two sets of rate tables is redundant, remove one and use struct ath_rate_table exclusively. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: Use rate_driver_dataSujith5-226/+108
Remove the hack using vif, and use rate_driver_data within skb->cb to hold driver specific rate information. Setup the rate series in the skb's tx control area and remove all references to ath9k specific rate series ( using struct ath_rc_series ). Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: Remove ath_rate_softcSujith5-87/+45
Move the hw rate tables to ath_softc, and access them directly. tx_triglevel_max is global, move it to ath_rate_node. Now that ath_rate_softc is gone, rate control attach becomes simpler. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: Remove rate control reference in VAPSujith4-85/+50
Rate control init is now confined to itself, using the HT capabilites of the STA from rate_init(). Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: We don't support non-HT devices, so remove superfluous code.Sujith1-39/+0
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: Revamp RX handlingSujith3-519/+209
Remove a lot of old, crufty code and make RX status reporting a bit sane and clean. Do not do anything to the RX skb before unmapping. So in ath_rx_tasklet(), move the skb_put() after PCI unmap. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: Nuke fixed rate handling in driverSujith5-137/+4
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: Remove half/quarter rate tablesSujith3-127/+20
Half/Quarter rate tables are needed only for legacy chipsets. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: Remove ath_rate_newassoc()Sujith1-25/+8
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: Remove ath_setup_ratesSujith1-26/+10
Setup legacy rates in ath_rate_init() itself. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: Simplify RC alloc/free functionsSujith1-41/+7
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: Merge struct ath_tx_ratectrl with ath_rate_nodeSujith2-225/+192
Avoid casting of ath_tx_ratctrl and access the elements directly. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26ath9k: Fix panic while unregistering rfkillVasanthakumar Thiagarajan1-4/+4
[ 6133.670329] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010 [ 6133.672802] IP: [<ffffffffa030fcf6>] ieee80211_stop_queues+0x26/0x40 [mac80211] [ 6133.672802] PGD 759dc067 PUD 74f1d067 PMD 0 [ 6133.672802] Oops: 0002 [#1] PREEMPT SMP [ 6133.672802] last sysfs file: /sys/class/backlight/acpi_video0/brightness [ 6133.672802] CPU 0 [ 6133.672802] Modules linked in: ath9k(-) mac80211 pciehp pci_hotplug arc4 ecb joydev pcmcia ppdev lp ppp_generic psmouse sg pcspkr s] [ 6133.735830] Pid: 4445, comm: rmmod Tainted: G W 2.6.28-rc5-wl #1 [ 6133.735830] RIP: 0010:[<ffffffffa030fcf6>] [<ffffffffa030fcf6>] ieee80211_stop_queues+0x26/0x40 [mac80211] [ 6133.735830] RSP: 0018:ffff88007d1efd10 EFLAGS: 00010246 [ 6133.735830] RAX: 0000000000000000 RBX: ffff880074f41aa0 RCX: 0000000000000000 [ 6133.735830] RDX: 0000000000000010 RSI: 0000000000000000 RDI: ffff880074f40340 [ 6133.735830] RBP: ffff880074990000 R08: 0000000000000000 R09: 000000000000224d [ 6133.735830] R10: 0000000000000000 R11: ffffffff8031dc70 R12: 0000000000000000 [ 6133.735830] R13: 0000000000000001 R14: ffff880074f46c9c R15: 0000000000000000 [ 6133.735830] FS: 00007f1e2e0bc6f0(0000) GS:ffffffff805e0b80(0000) knlGS:0000000000000000 [ 6133.735830] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 6133.735830] CR2: 0000000000000010 CR3: 0000000075593000 CR4: 00000000000006e0 [ 6133.735830] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 6133.735830] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 6133.735830] Process rmmod (pid: 4445, threadinfo ffff88007d1ee000, task ffff88007c0c8000) [ 6133.735830] Stack: [ 6133.735830] ffffffffa034d583 ffff88007c7d9410 ffff88007c7d9410 ffff88007c7d9410 [ 6133.735830] ffffffff80481dab ffff880074f41aa0 00000000fffffff0 0000000000000000 [ 6133.735830] 0000000000000001 0000000000000001 ffffffffa034d8a5 ffff88007c7d9400 [ 6133.735830] Call Trace: [ 6133.735830] [<ffffffffa034d583>] ? ath_radio_disable+0x33/0x150 [ath9k] [ 6133.735830] [<ffffffff80481dab>] ? __mutex_lock_slowpath+0x20b/0x2a0 [ 6133.735830] [<ffffffffa034d8a5>] ? ath_sw_toggle_radio+0x65/0xa0 [ath9k] [ 6133.735830] [<ffffffffa019d1f4>] ? rfkill_toggle_radio+0x74/0x140 [rfkill] [ 6133.735830] [<ffffffffa019d597>] ? rfkill_remove_switch+0x67/0x80 [rfkill] [ 6133.735830] [<ffffffffa019d955>] ? rfkill_unregister+0x25/0x50 [rfkill] [ 6133.735830] [<ffffffffa034bf75>] ? ath_detach+0xf5/0x140 [ath9k] [ 6133.735830] [<ffffffffa034bfe9>] ? ath_pci_remove+0x29/0x80 [ath9k] [ 6133.735830] [<ffffffff8035263c>] ? pci_device_remove+0x2c/0x60 [ 6133.735830] [<ffffffff803c3829>] ? __device_release_driver+0x99/0x100 [ 6133.735830] [<ffffffff803c3950>] ? driver_detach+0xc0/0xd0 [ 6133.735830] [<ffffffff803c296e>] ? bus_remove_driver+0x8e/0xd0 [ 6133.735830] [<ffffffff80352916>] ? pci_unregister_driver+0x36/0xa0 [ 6133.735830] [<ffffffffa0356ad4>] ? exit_ath_pci+0x10/0x29 [ath9k] [ 6133.735830] [<ffffffff8026bb1b>] ? sys_delete_module+0x1cb/0x2d0 [ 6133.735830] [<ffffffff802960d9>] ? do_munmap+0x349/0x390 [ 6133.735830] [<ffffffff80342d01>] ? __up_write+0x21/0x150 [ 6133.735830] [<ffffffff8020c45b>] ? system_call_fastpath+0x16/0x1b [ 6133.735830] Code: c3 0f 1f 40 00 0f b7 57 5e 0f b7 47 5c 01 c2 74 30 31 c9 66 90 48 8b 57 78 0f b7 c1 48 c1 e0 07 48 03 82 00 03 00 [ 6133.735830] RIP [<ffffffffa030fcf6>] ieee80211_stop_queues+0x26/0x40 [mac80211] Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26rtl8187: Fix transmission count sent to mac80211Larry Finger1-1/+1
In the commit entitled "mac80211/drivers: rewrite the rate control API", the meaning of the packet transmit count was changed from the number of retries to the total number. In driver rtl8187, this change was missed. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Acked-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br> Tested-by: Hin-Tak Leung <htl10@users.sourceforge.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26rt2x00: Don't switch off LED on initializationIvo van Doorn1-6/+0
When we switch off the LEDS during initialization we kill rt73usb from proper functioning. The immediate result after the first LED command are MCU failures and a complete breakdown of TX/RX. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26orinoco: indicate it is using dBm in wireless_stats and spyAndrey Borzenkov1-2/+2
Since WE7 /proc/net/wireless checks whether level and noise are in dBm and shows them accordingly. Indicate that we return signal and noice levels in dBm. Before: Inter-| sta-| Quality | Discarded packets | Missed | WE face | tus | link level noise | nwid crypt frag retry misc | beacon | 22 eth1: 0000 65. 219. 165. 0 0 148 41 0 0 After: Inter-| sta-| Quality | Discarded packets | Missed | WE face | tus | link level noise | nwid crypt frag retry misc | beacon | 22 eth1: 0000 65. -37. -91. 0 0 0 0 0 0 While at it, replace raw numbers with appropriate macro. Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru> Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-11-26smc-mca: Fix build failure due to typo.David S. Miller1-1/+1
ultra_netdev_ops --> ultramca_netdev_ops Signed-off-by: David S. Miller <davem@davemloft.net>
2008-11-26sungem: Fix PCS_MIICTRL register write in gem_init_phy().David S. Miller1-1/+1
Use writel not writeb. Noticed by Hermann Lauer. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-11-25net: hp-plus uses eip_pollRandy Dunlap1-1/+1
hp-plus uses 8390p.c, so it should use eip_poll(), not ei_poll(). drivers/built-in.o: In function `hpp_probe1': hp-plus.c:(.init.text+0x9cbd): undefined reference to `ei_poll' Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-11-25ne2000: convert to net_device_opsStephen Hemminger1-22/+2
Last driver for today. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-11-253c503: convert to net_device_opsStephen Hemminger1-2/+16
Another of the 8390p group. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>