summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2010-12-16USB: usb-storage: unusual_devs entry for the Samsung YP-CP3Vitaly Kuznetsov
Add an unusual_devs entry for the Samsung YP-CP3 MP4 player. User was getting the following errors in dmesg: usb 2-6: reset high speed USB device using ehci_hcd and address 2 usb 2-6: reset high speed USB device using ehci_hcd and address 2 usb 2-6: reset high speed USB device using ehci_hcd and address 2 usb 2-6: USB disconnect, address 2 sd 3:0:0:0: [sdb] Assuming drive cache: write through sdb:<2>ldm_validate_partition_table(): Disk read failed. Dev sdb: unable to read RDB block 0 unable to read partition table Signed-off-by: Vitaly Kuznetsov <vitty@altlinux.ru> Acked-by: Alan Stern <stern@rowland.harvard.edu> CC: Matthew Dharm <mdharm-usb@one-eyed-alien.net> CC: stable@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-16USB: gadget: Remove suspended sysfs file before freeing cdevPavankumar Kondeti
cdev struct is accessed in suspended sysfs show function. So remove sysfs file before freeing the cdev in composite_unbind. Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-16USB: core: Add input prompt and help text for USB_OTG configPavankumar Kondeti
bd6882 commit (usb: gadget: fix Kconfig warning) removes the duplicate USB_OTG config from gadget/Kconfig. But does not copy the input prompt and help text to the original config defined in core/Kconfig. Add them now. Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-16ifb: fix a lockdep splatEric Dumazet
After recent ifb changes, we must use lockless __skb_dequeue() since lock is not anymore initialized. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Cc: Jamal Hadi Salim <hadi@cyberus.ca> Cc: Changli Gao <xiaosuo@gmail.com> Acked-by: Changli Gao <xiaosuo@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16net: Fix drivers advertising HW_CSUM feature to use csum_startMichał Mirosław
Some drivers are using skb_transport_offset(skb) instead of skb->csum_start for NETIF_F_HW_CSUM offload. This does not matter now, but if someone implements checksumming of encapsulated packets then this will break silently. TSO output paths are left as they are, since they are for IP+TCP only (might be worth converting though). Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16net: Use skb_checksum_start_offset()Michał Mirosław
Replace skb->csum_start - skb_headroom(skb) with skb_checksum_start_offset(). Note for usb/smsc95xx: skb->data - skb->head == skb_headroom(skb). Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16net/veth: Fix packet checksummingMichał Mirosław
We can't change ip_summed from CHECKSUM_PARTIAL to CHECKSUM_NONE or CHECKSUM_UNNECESSARY because checksum in packet's headers is not valid and will cause invalid checksum when frame is forwarded. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16be2net: use mutex instead of spin lock for mbox_lockIvan Vecera
Since the mbox polling uses the schedule_timeout, the mbox_lock should be a mutex and not a spin lock. The commit f25b03a replaced udelay() with schedule_timeout() but didn't change mbox_lock to semaphore or mutex. Signed-off-by: Ivan Vecera <ivecera@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16PCI: Update MCP55 quirk to not affect non HyperTransport variantsNeil Horman
I wrote this quirk awhile ago to properly setup MCP55 chips on hypertransport busses so that interrupts reached whatever cpu happend to boot the kdump kernel. while that works well, it was recently shown to me that a a non-hypertransport variant of the MCP55 exists, and on those system the register that this quirk manipulates causes hangs if you write to it. Since the quirk was only meant to handle errors found on MCP55 chips that have a HT interface, this patch adds a filter to make sure the chip is an HT capable before making the needed register adjustment. This lets the broken MCP55s work with kdump while not breaking the non-HT variants. Resolves https://bugzilla.kernel.org/show_bug.cgi?id=23952 Tested successfully by the reporter and myself. Cc: stable@kernel.org Reported-by: Mathieu Bérard <mathieu@mberard.eu> Acked-by: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Neil Horman <nhorman@tuxdriver.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-12-16USB: serial: ftdi_sio: add support for TIOCSERGETLSRGreg Kroah-Hartman
Willem-Jan noticed that the ftdi_sio driver did not support the TIOCSERGETLSR ioctl, and some userspace programs rely on it. This patch adds the support. Reported-by: Willem-Jan de Hoog <wdehoog@exalondelft.nl> Tested-by: Willem-Jan de Hoog <wdehoog@exalondelft.nl> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-16USB: ehci-mxc: Setup portsc register prior to accessing OTG viewportFabio Estevam
In order to read/write to the i.MX OTG viewport register it is necessary to setup the PORTSCx register first. By default i.MX OTG port is configured for USB serial PHY. In order to use a ULPI PHY the PORTSCx register needs to be configured properly. commit 724c852 (USB: ehci/mxc: compile fix) placed the PORTSC setup after the OTG viewport is accessed and this causes ULPI read/write to fail. Revert the PORTSC setup order. Tested on a MX31PDK board with a ISP1504 transceiver: ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver mxc-ehci mxc-ehci.0: initializing i.MX USB Controller ULPI transceiver vendor/product ID 0x04cc/0x1504 Found NXP ISP1504 ULPI transceiver. ULPI integrity check: passed. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-16USB: atmel_usba_udc: fix freeing irq in usba_udc_remove()Rob Emanuele
Add a free_irq() call on vbus gpio when we remove udc so that the vbus irq is properly released. Signed-off-by: Rob Emanuele <rje@crystalfontz.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-16usb: ehci-omap: fix tll channel enable maskAnand Gadiyar
The TLL channel enable code searches for the wrong mask, and could end up enabling the wrong port. Fix this. Signed-off-by: Anand Gadiyar <gadiyar@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-16usb: ohci-omap3: fix trivial typoKeshava Munegowda
This is the ohci-omap3 driver, not ehci-omap. Correct this obvious typo. Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com> Signed-off-by: Anand Gadiyar <gadiyar@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-16USB: gadget: ci13xxx: don't assume that PAGE_SIZE is 4096Artem Leonenko
Page size for transaction descriptors for CI13XXX has nothing common with page size from MM. Using platform and configuration specific PAGE_SIZE is wrong. Signed-off-by: Artem Leonenko <tikkeri@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-16USB: gadget: ci13xxx: fix complete() callback for no_interrupt rq'sArtem Leonenko
CI13xxx UDC driver doesn't call complete() callback for requests with flag no_interrupt set. Thus gadget drivers (like g_ether) are never notifed about successfully (or not) transmitted requests. As a result in case of g_ether and queued request with no_interrupt=1 fields g_ether is never notifed about sent packets and TX stalls. Solution: treat no_interrupt flag like all other UDC drivers do and call complete() callback for all requests. Signed-off-by: Artem Leonenko <tikkeri@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-16USB: gadget: update ci13xxx to work with g_etherArtem Leonenko
There is one nasty scenario when CI13xxx driver fails: a) two or more rx requests are queued (g_ether does that) b) rx request completed, interrupt fires and ci13xxx dequeues rq c) request complete() callback gets called and in turn it calls ep_queue() c1) in ep_queue() request gets added to the TAIL of the rx queue list d) ep gets primed with rq from (b) e) interrupt fires f) request gets popped from queue head for hw dequeue G) requets from queue head wasn't enqueued g1) isr_tr_complete_low() doesn't enqueue more requests and it doesn't prime EP, rx traffic stalls Solution: a) enque queued requests ASAP, i.e. before calling complete() callback. b) don't HW enqueue and prime endpoint with recently added request and use the oldest request in the queue. Fixed issues: a) ep_queue() may return an error code despite request was successfully added to the queue (if _hardware_enqueue() fails) b) Added requests are always processed in LIFO order, even if they are added in complete() callback c) Finally more than two and more queued requests are processed consistently, even if they were added in complete() callback The fix was successfully tested on MIPS based SoC with 4KEc CPU core and CI13612 USB core. Board successfully boots with NFS root using g_ether on ci13xxx udc. Signed-off-by: Artem Leonenko <tikkeri@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-16USB: gadgets: ci13xxx: fix probing of compiled-in gadget driversArtem Leonenko
Built-in gadget drivers have NULL-ifed unbind() function. Checking whether unbind() is NULL will never let any compiled into kernel driver attach. Signed-off-by: Artem Leonenko <tikkeri@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-16bonding: add the debugfs interface to see RLB hash tableTaku Izumi
This patch provices the debugfs interface to see RLB hash table like the following: # cat /sys/kernel/debug/bonding/bond0/rlb_hash_table SourceIP DestinationIP Destination MAC DEV 10.124.196.205 10.124.196.205 ff:ff:ff:ff:ff:ff eth4 10.124.196.205 10.124.196.81 00:19:99:XX:XX:XX eth3 10.124.196.205 10.124.196.1 00:21:d8:XX:XX:XX eth0 This is helpful to check if the receive load balancing works as expected. Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16bonding: migrate some macros from bond_alb.c to bond_alb.hTaku Izumi
This patch simply migrates some macros from bond_alb.c to bond_alb.h. Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16cxgb4: NUMA-aware Tx queue allocationsDimitris Michailidis
Allocate Tx queue memory on the node indicated by the new netdev_queue_numa_node_read. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16cxgb4: extend VPD parsingDimitris Michailidis
Current code parses the VPD RO section for keywords but makes static assumptions about the location of the section. Remove them and parse the VPD to find it. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16cxgb4: add const to static arraysJoe Perches
Patch originally from Joe Perches, unmodified. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16cxgb4: remove a bitmapDimitris Michailidis
The driver keeps a bitmap of the netdevs it registered so it knows what to unregister later. Remove that and look at reg_state instead. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16cxgb4: remove the name field from the adapter structureDimitris Michailidis
Remove a field the driver uses to keep track of the name of the first netdev it manages to register. Do this by changing the registration loop to stop the first time it fails so the first registered device is trivial to tell. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16cxgb4: correct formatting of MSI-X interrupt namesDimitris Michailidis
The last byte of the buffer for MSI-X names could not be used due to a bogus -1. Also do not explicitly clear the last byte, snprintf will do the right thing. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16cxgb4: allocate more space for MSI-X interrupt namesDimitris Michailidis
Currently MSI-X names for netdevs with long names are truncated in /proc/interrupts due to insufficient space. Use IFNAMSIZ to size the needed space. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16cxgb4: print port information after registering each netdevDimitris Michailidis
Print information about each port when its netdev is registered instead of looping separately over the ports at the end. The bulk of this patch is due to indentation change. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16cxgb4: distinguish between 1-lane KR/KX and 4-lane KR/KX/KX4 portsDimitris Michailidis
And fix the supported flags ethtool reports for the two cases. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16cxgb4: set the number of queues before device registrationDimitris Michailidis
The number of queues is known early, move the calls to netif_set_real_num_[rt]x_queues before register_netdev. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16cxgb4: do not read the clock frequency from VPDDimitris Michailidis
No need to read the clock frequency from VPD, we already get it a bit later from FW, after any potential adjustments. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16cxgb4: enable PCIe relaxed orderingDimitris Michailidis
Enable relaxed ordering for descriptor reads and packet I/O. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16bnx2x: update version to 1.62.00-2Vladislav Zolotarov
Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16bnx2x: replace FW to 6.2.5Vladislav Zolotarov
Includes FCoE releated fixes in FW flows Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16bnx2x: Add DCB/PFC support - link layerVladislav Zolotarov
Add appropriate HW DCB/PFC configuration Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16bnx2x: add DCB supportVladislav Zolotarov
Adding DCB initialization and handling on 57712 FW/HW Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com> Signed-off-by: Shmulik Ravid-Rabinovitz <shmulikr@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16bnx2x: add a select queue callbackVladislav Zolotarov
This callback required to allow FCoE traffic to be sent on separate priority queue from other L2 traffic, which is managed by PFC in HW. Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com> Signed-off-by: Shmulik Ravid-Rabinovitz <shmulikr@broadcom.com> Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16bnx2x: add FCoE ringVladislav Zolotarov
Includes new driver structures and FW/HW configuration for FCoE ring Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com> Signed-off-by: Shmulik Ravid-Rabinovitz <shmulikr@broadcom.com> Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16drivers: serial: apbuart: Handle OF failures gracefullyThomas Gleixner
The apbuart driver depends on OF and relies on everything being available. So if it's probed on a platform which has OF support, but no device tree is available it crashes. Triggered by the upcoming x86 OF support in randconfig testing. Further it's inconsistent vs. the probing and exiting from the of_match loop. Make it robust and consistent: - check the availablility of OF nodes before dereferencing - return -ENODEV when the device tree lookup fails - return -ENODEV when no uart port configuration is found - return -ENODEV when invalid uart port configuration is found Remove the enum_done check while at it. Driver init functions are only called once. Remove the pointless vendor and device queries as well. Reported-by: Ingo Molnar <mingo.elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Grant Likely <grant.likely@secretlab.ca> Cc: Kristoffer Glembo <kristoffer@gaisler.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-16Serial: Avoid unbalanced IRQ wake disable during resumeGovindraj.R
To avoid unbalanced IRQ wake disable, ensure that wakeups are disabled only when wakeups have been successfully enabled. Tested on OMAP3630SDP/ZOOM3. Signed-off-by: Govindraj.R <govindraj.raja@ti.com> Reported-by: Paul Walmsley <paul@pwsan.com> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com> Acked-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-16pch_uart : fix warnings for 64bit compileTomoya MORINAGA
Fix the following warnings drivers/serial/pch_uart.c: In function ‘dma_handle_rx’: drivers/serial/pch_uart.c:685:24: warning: cast from pointer to integer of different size drivers/serial/pch_uart.c: In function ‘dma_handle_tx’: drivers/serial/pch_uart.c:778:23: warning: cast from pointer to integer of different size drivers/serial/pch_uart.c: In function ‘pch_uart_init_port’: drivers/serial/pch_uart.c:1289:20: warning: cast to pointer from integer of different size drivers/serial/pch_uart.c: In function ‘pch_uart_exit_port’: drivers/serial/pch_uart.c:1328:2: warning: cast from pointer to integer of different size Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com> Reported-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-16n_gsm: gsm_data_alloc buffer allocation could fail and it is not being checkedKen Mills
gsm_data_alloc buffer allocation could fail and it is not being checked. Add check for allocated buffer and return if the buffer allocation fails. Signed-off-by: Ken Mills <ken.k.mills@intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Cc: stable@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-16n_gsm: Fix message length handling when building headerKen Mills
Fix message length handling when building header When the message length is greater than 127, the length field in the header is built incorrectly. According to the spec, when the length is less than 128 the length field is a single byte formatted as: bbbbbbb1. When it is greater than 127 then the field is two bytes of the format: bbbbbbb0 bbbbbbbb. Signed-off-by: Ken Mills <ken.k.mills@intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Cc: stable@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-16bonding/vlan: Fix mangled NAs on slaves without VLAN tag insertionBen Hutchings
bond_na_send() attempts to insert a VLAN tag in between building and sending packets of the respective formats. If the slave does not implement hardware VLAN tag insertion then vlan_put_tag() will mangle the network-layer header because the Ethernet header is not present at this point (unlike in bond_arp_send()). Fix this by adding the tag out-of-line and relying on dev_hard_start_xmit() to insert it inline if necessary. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Reviewed-by: Jesse Gross <jesse@nicira.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16bonding: Change active slave quietly when bond is downBen Hutchings
bond_change_active_slave() may be called when a slave is added, even if the bond has not been brought up yet. It may then attempt to send packets, and further it may use mcast_work which is uninitialised before the bond is brought up. Add the necessary checks for netif_running(bond->dev). Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16bonding/vlan: Remove redundant VLAN tag insertion logicBen Hutchings
A bond may have a mixture of slave devices with and without hardware VLAN tag insertion capability. Therefore it always claims this capability and performs software VLAN tag insertion if the slave does not. Since commit 7b9c60903714bf0a19d746b228864bad3497284e, this has also been done by dev_hard_start_xmit(). The result is that VLAN- tagged skbs are now double-tagged when transmitted through slave devices without hardware VLAN tag insertion! Remove the now-redundant logic from bond_dev_queue_xmit(). Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Reviewed-by: Jesse Gross <jesse@nicira.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16axnet_cs: move id (0x1bf, 0x2328) to axnet_csKen Kawasaki
axnet_cs: Accton EN2328 or compatible (id: 0x01bf, 0x2328) uses Asix chip. So it works better with axnet_cs instead of pcnet_cs. Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16bonding: Fix slave selection bug.Hillf Danton
The returned slave is incorrect, if the net device under check is not charged yet by the master. Signed-off-by: Hillf Danton <dhillf@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-16rtlwifi: Switch locking from semaphores to mutexesLarry Finger
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-16ath5k: Fix surveyBruno Randolf
The old survey implementation was broken and returned nonsense data. Clear cycle counters and survey data on reset. Since the cycle counters easily overflow it's better to keep a local version of collected survey data (in ms resolution, instead of clockrate) and update this every time survey is retrieved. If survey is retrieved often enough to avoid cycle counter overflows this works fine, otherwise we could update survey more often, like ath9k does. Still only the survey for the current channel is kept. Signed-off-by: Bruno Randolf <br1@einfach.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>