linux/drivers
Johannes Berg 98d4bf0c49 iwlwifi: fix uCode event tracing
Fix multiple bugs in event tracing:

1) If you enable uCode tracing with the device down,
   it will still attempt to access the device and
   continuously log "MAC is in deep sleep!" errors.
   Fix this by only starting logging when the device
   is actually alive.

2) Now you can set the flag when the device is down,
   but logging doesn't happen when you bring it up.
   To fix that, start logging when the device comes
   alive. This means we don't log before -- we could
   do that but I don't need it right now.

3) For some reason we read the error instead of the
   event log -- use the right pointer.

4) Optimise SRAM reading of event log header.

5) Fix reading write pointer == capacity, which can
   happen due to racy SRAM access

6) Most importantly: fix an error where we would try
   to read WAY too many events (like 2^32-300) when
   we read the wrap counter before it is updated by
   the uCode -- this does happen in practice and will
   cause the driver to hang the machine.

7) Finally, change the timer to 10ms instead of 100ms
   as 100ms is too slow to capture all data with a
   normal event log and with 100ms the log will wrap
   multiple times before we have a chance to read it.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
2012-01-28 08:08:13 -08:00
..
accessibility
acpi Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-01-11 18:50:26 -08:00
amba Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm 2012-01-08 13:10:57 -08:00
ata Merge branch 'upstream-linus' of git://github.com/jgarzik/libata-dev 2012-01-10 10:19:17 -08:00
atm
auxdisplay
base kdump: add udev events for memory online/offline 2012-01-12 20:13:11 -08:00
bcma bcma: Enable logging of SPROM offset 2012-01-24 14:21:12 -05:00
block virtio: blk: Add freeze, restore handlers to support S4 2012-01-12 15:44:45 +10:30
bluetooth Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm 2012-01-08 13:10:57 -08:00
cdrom fs: move code out of buffer.c 2012-01-03 22:54:07 -05:00
char Merge branch 'akpm' (aka "Andrew's patch-bomb, take two") 2012-01-12 20:42:54 -08:00
clk clk: add config option HAVE_CLK_PREPARE into Kconfig 2011-12-28 21:35:06 +08:00
clocksource Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm 2012-01-06 18:15:25 -08:00
connector
cpufreq Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq 2012-01-11 18:53:33 -08:00
cpuidle cpu: convert 'cpu' and 'machinecheck' sysdev_class to a regular subsystem 2011-12-21 14:29:42 -08:00
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2012-01-10 22:01:27 -08:00
dca
devfreq Merge branch 'devfreq-for-next' of git://git.infradead.org/users/kmpark/linux-samsung into pm-devfreq 2011-12-21 09:51:23 +01:00
dio
dma clock management changes for i.MX 2012-01-09 14:44:15 -08:00
edac Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-01-08 13:21:22 -08:00
eisa
firewire
firmware Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound 2012-01-12 08:00:30 -08:00
gpio Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl 2012-01-10 10:19:57 -08:00
gpu Merge branch 'drm-core-next' of git://people.freedesktop.org/~airlied/linux 2012-01-10 11:04:36 -08:00
hid Merge git://git.infradead.org/battery-2.6 2012-01-11 18:53:05 -08:00
hv Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb 2012-01-09 12:09:47 -08:00
hwmon Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging 2012-01-08 13:39:24 -08:00
hwspinlock
i2c Merge branch 'unicore32' of git://github.com/gxt/linux 2012-01-10 17:37:20 -08:00
ide
idle
ieee802154
infiniband infiniband changes for 3.3 merge window 2012-01-08 14:05:48 -08:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2012-01-12 12:40:41 -08:00
iommu Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu 2012-01-10 11:08:21 -08:00
isdn drivers: isdn: Fix dependency for ISDN_PPP 2012-01-10 14:57:20 -08:00
leds leds: convert wm8350 driver to devm_kzalloc() 2012-01-10 16:30:49 -08:00
lguest lguest: Make sure interrupt is allocated ok by lguest_setup_irq 2012-01-12 15:44:47 +10:30
macintosh Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core 2012-01-07 12:03:30 -08:00
mca
md Two bugfixes for md. 2012-01-11 18:51:55 -08:00
media Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu 2012-01-10 11:08:21 -08:00
memstick
message SCSI updates for post 3.2 merge window 2012-01-10 10:36:08 -08:00
mfd Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound 2012-01-12 08:00:30 -08:00
misc Merge branch 'char-misc-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc 2012-01-09 12:08:59 -08:00
mmc clock management changes for i.MX 2012-01-09 14:44:15 -08:00
mtd kexec: remove KMSG_DUMP_KEXEC 2012-01-12 20:13:11 -08:00
net iwlwifi: fix uCode event tracing 2012-01-28 08:08:13 -08:00
nfc NFC: Free sk_buff if nfcwilink_send fails 2012-01-24 14:21:56 -05:00
nubus
of of: add include asm/setup.h in drivers/of/fdt.c 2012-01-10 10:29:41 +08:00
oprofile Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-01-06 08:02:58 -08:00
parisc Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-01-11 18:50:26 -08:00
parport drivers/parport/parport_pc.c: fix warnings 2012-01-12 20:13:12 -08:00
pci Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-01-11 18:50:26 -08:00
pcmcia pcmcia: pxa: replace IRQ_GPIO() with gpio_to_irq() 2011-12-28 10:14:04 +00:00
pinctrl pinctrl: remove unnecessary max pin number 2012-01-03 09:10:09 +01:00
platform Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-01-11 19:13:40 -08:00
pnp PNP: work around Dell 1536/1546 BIOS MMCONFIG bug that breaks USB 2012-01-06 12:11:20 -08:00
power Merge git://git.infradead.org/battery-2.6 2012-01-11 18:53:05 -08:00
pps
ps3
ptp
rapidio
regulator regulator: set constraints.apply_uV to 0 in of_get_fixed_voltage_config 2012-01-06 11:01:09 -08:00
rtc Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-01-11 19:13:40 -08:00
s390 virtio: harsher barriers for rpmsg. 2012-01-12 15:44:42 +10:30
sbus
scsi Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-01-11 18:50:26 -08:00
sfi
sh SH/R-Mobile updates for 3.3 merge window. 2012-01-11 23:29:20 -08:00
sn
spi Cleanups for the Samsung platforms 2012-01-09 14:30:28 -08:00
ssb ssb: SPROM: extract each core power info 2012-01-24 14:06:04 -05:00
staging Merge branch 'drm-core-next' of git://people.freedesktop.org/~airlied/linux 2012-01-10 11:04:36 -08:00
target
tc
telephony
thermal
tty SH/R-Mobile updates for 3.3 merge window. 2012-01-11 23:29:20 -08:00
uio Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-01-11 18:50:26 -08:00
usb Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2012-01-10 10:48:28 -08:00
uwb Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb 2012-01-09 12:09:47 -08:00
vhost vhost-net: add module alias (v2.1) 2012-01-13 10:12:23 -08:00
video drivers/video/nvidia/nvidia.c: fix warning 2012-01-12 20:13:03 -08:00
virt
virtio virtio: balloon: Add freeze, restore handlers to support S4 2012-01-12 15:44:47 +10:30
vlynq
w1
watchdog Merge git://www.linux-watchdog.org/linux-watchdog 2012-01-10 10:29:23 -08:00
xen Merge branch 'drm-core-next' of git://people.freedesktop.org/~airlied/linux 2012-01-10 11:04:36 -08:00
zorro misc latin1 to utf8 conversions 2012-01-02 13:04:55 +01:00
Kconfig
Makefile