]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
13 years agoMerge remote-tracking branch 'wireless/master'
Stephen Rothwell [Tue, 20 Sep 2011 03:28:12 +0000 (13:28 +1000)]
Merge remote-tracking branch 'wireless/master'

Conflicts:
drivers/net/wireless/iwlwifi/iwl-pci.c
drivers/net/wireless/rt2x00/rt2800usb.c
drivers/net/wireless/wl12xx/main.c

13 years agoMerge remote-tracking branch 'net/master'
Stephen Rothwell [Tue, 20 Sep 2011 02:52:17 +0000 (12:52 +1000)]
Merge remote-tracking branch 'net/master'

Conflicts:
MAINTAINERS
arch/powerpc/configs/40x/hcu4_defconfig
drivers/net/Kconfig
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
drivers/net/wireless/iwlwifi/iwl-pci.c
drivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c
drivers/s390/cio/qdio_main.c

13 years agoMerge remote-tracking branch 'slave-dma/next'
Stephen Rothwell [Tue, 20 Sep 2011 02:43:29 +0000 (12:43 +1000)]
Merge remote-tracking branch 'slave-dma/next'

13 years agoMerge remote-tracking branch 'scsi/master'
Stephen Rothwell [Tue, 20 Sep 2011 02:41:23 +0000 (12:41 +1000)]
Merge remote-tracking branch 'scsi/master'

13 years agoMerge remote-tracking branch 'ibft/master'
Stephen Rothwell [Tue, 20 Sep 2011 02:41:19 +0000 (12:41 +1000)]
Merge remote-tracking branch 'ibft/master'

13 years agoMerge remote-tracking branch 'swiotlb/master'
Stephen Rothwell [Tue, 20 Sep 2011 02:41:14 +0000 (12:41 +1000)]
Merge remote-tracking branch 'swiotlb/master'

13 years agoMerge remote-tracking branch 'ieee1394/for-next'
Stephen Rothwell [Tue, 20 Sep 2011 02:39:57 +0000 (12:39 +1000)]
Merge remote-tracking branch 'ieee1394/for-next'

13 years agoMerge remote-tracking branch 'libata/NEXT'
Stephen Rothwell [Tue, 20 Sep 2011 02:38:33 +0000 (12:38 +1000)]
Merge remote-tracking branch 'libata/NEXT'

13 years agoMerge remote-tracking branch 'kconfig/for-next'
Stephen Rothwell [Tue, 20 Sep 2011 02:38:28 +0000 (12:38 +1000)]
Merge remote-tracking branch 'kconfig/for-next'

13 years agoMerge remote-tracking branch 'kbuild/for-next'
Stephen Rothwell [Tue, 20 Sep 2011 02:37:04 +0000 (12:37 +1000)]
Merge remote-tracking branch 'kbuild/for-next'

13 years agoMerge remote-tracking branch 'docs/docs-move'
Stephen Rothwell [Tue, 20 Sep 2011 02:35:44 +0000 (12:35 +1000)]
Merge remote-tracking branch 'docs/docs-move'

13 years agoMerge branch 'quilt/kernel-doc'
Stephen Rothwell [Tue, 20 Sep 2011 02:34:33 +0000 (12:34 +1000)]
Merge branch 'quilt/kernel-doc'

13 years agoMerge remote-tracking branch 'hwmon-staging/hwmon-next'
Stephen Rothwell [Tue, 20 Sep 2011 02:33:13 +0000 (12:33 +1000)]
Merge remote-tracking branch 'hwmon-staging/hwmon-next'

13 years agoMerge branch 'quilt/jdelvare-hwmon'
Stephen Rothwell [Tue, 20 Sep 2011 02:32:00 +0000 (12:32 +1000)]
Merge branch 'quilt/jdelvare-hwmon'

13 years agoMerge remote-tracking branch 'bjdooks-i2c/next-i2c'
Stephen Rothwell [Tue, 20 Sep 2011 02:30:42 +0000 (12:30 +1000)]
Merge remote-tracking branch 'bjdooks-i2c/next-i2c'

13 years agoMerge branch 'quilt/i2c'
Stephen Rothwell [Tue, 20 Sep 2011 02:29:30 +0000 (12:29 +1000)]
Merge branch 'quilt/i2c'

13 years agoMerge remote-tracking branch 'hid/for-next'
Stephen Rothwell [Tue, 20 Sep 2011 02:28:12 +0000 (12:28 +1000)]
Merge remote-tracking branch 'hid/for-next'

13 years agoMerge remote-tracking branch 'xfs/master'
Stephen Rothwell [Tue, 20 Sep 2011 02:26:45 +0000 (12:26 +1000)]
Merge remote-tracking branch 'xfs/master'

Conflicts:
fs/xfs/xfs_aops.c
fs/xfs/xfs_super.c

13 years agoMerge remote-tracking branch 'v9fs/for-next'
Stephen Rothwell [Tue, 20 Sep 2011 02:25:32 +0000 (12:25 +1000)]
Merge remote-tracking branch 'v9fs/for-next'

Conflicts:
net/9p/trans_virtio.c

13 years agoMerge remote-tracking branch 'ocfs2/linux-next'
Stephen Rothwell [Tue, 20 Sep 2011 02:24:04 +0000 (12:24 +1000)]
Merge remote-tracking branch 'ocfs2/linux-next'

13 years agoMerge remote-tracking branch 'nfsd/nfsd-next'
Stephen Rothwell [Tue, 20 Sep 2011 02:18:08 +0000 (12:18 +1000)]
Merge remote-tracking branch 'nfsd/nfsd-next'

13 years agoMerge remote-tracking branch 'logfs/master'
Stephen Rothwell [Tue, 20 Sep 2011 02:16:55 +0000 (12:16 +1000)]
Merge remote-tracking branch 'logfs/master'

13 years agoMerge remote-tracking branch 'gfs2/master'
Stephen Rothwell [Tue, 20 Sep 2011 02:15:40 +0000 (12:15 +1000)]
Merge remote-tracking branch 'gfs2/master'

13 years agoMerge remote-tracking branch 'ext4/dev'
Stephen Rothwell [Tue, 20 Sep 2011 02:14:20 +0000 (12:14 +1000)]
Merge remote-tracking branch 'ext4/dev'

13 years agoMerge remote-tracking branch 'cifs/master'
Stephen Rothwell [Tue, 20 Sep 2011 02:13:04 +0000 (12:13 +1000)]
Merge remote-tracking branch 'cifs/master'

13 years agoMerge remote-tracking branch 'ceph/for-next'
Stephen Rothwell [Tue, 20 Sep 2011 02:11:50 +0000 (12:11 +1000)]
Merge remote-tracking branch 'ceph/for-next'

13 years agoMerge remote-tracking branch 'xtensa/master'
Stephen Rothwell [Tue, 20 Sep 2011 02:10:39 +0000 (12:10 +1000)]
Merge remote-tracking branch 'xtensa/master'

13 years agoMerge remote-tracking branch 'unicore32/unicore32'
Stephen Rothwell [Tue, 20 Sep 2011 02:09:29 +0000 (12:09 +1000)]
Merge remote-tracking branch 'unicore32/unicore32'

13 years agoMerge remote-tracking branch 'tile/master'
Stephen Rothwell [Tue, 20 Sep 2011 02:08:16 +0000 (12:08 +1000)]
Merge remote-tracking branch 'tile/master'

13 years agoMerge remote-tracking branch 'rmobile/rmobile-latest'
Stephen Rothwell [Tue, 20 Sep 2011 02:07:04 +0000 (12:07 +1000)]
Merge remote-tracking branch 'rmobile/rmobile-latest'

13 years agoMerge remote-tracking branch 'sh/sh-latest'
Stephen Rothwell [Tue, 20 Sep 2011 02:05:53 +0000 (12:05 +1000)]
Merge remote-tracking branch 'sh/sh-latest'

13 years agoMerge remote-tracking branch 's390/features'
Stephen Rothwell [Tue, 20 Sep 2011 01:59:36 +0000 (11:59 +1000)]
Merge remote-tracking branch 's390/features'

13 years agoMerge remote-tracking branch '52xx-and-virtex/powerpc/next'
Stephen Rothwell [Tue, 20 Sep 2011 01:58:20 +0000 (11:58 +1000)]
Merge remote-tracking branch '52xx-and-virtex/powerpc/next'

13 years agoMerge remote-tracking branch 'powerpc/next'
Stephen Rothwell [Tue, 20 Sep 2011 01:57:07 +0000 (11:57 +1000)]
Merge remote-tracking branch 'powerpc/next'

13 years agoMerge remote-tracking branch 'mips/mips-for-linux-next'
Stephen Rothwell [Tue, 20 Sep 2011 01:55:47 +0000 (11:55 +1000)]
Merge remote-tracking branch 'mips/mips-for-linux-next'

13 years agoMerge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Tue, 20 Sep 2011 01:54:27 +0000 (11:54 +1000)]
Merge remote-tracking branch 'm68knommu/for-next'

13 years agoMerge remote-tracking branch 'm68k/for-next'
Stephen Rothwell [Tue, 20 Sep 2011 01:53:15 +0000 (11:53 +1000)]
Merge remote-tracking branch 'm68k/for-next'

13 years agoMerge remote-tracking branch 'ia64/test'
Stephen Rothwell [Tue, 20 Sep 2011 01:52:03 +0000 (11:52 +1000)]
Merge remote-tracking branch 'ia64/test'

13 years agoMerge branch 'quilt/hexagon'
Stephen Rothwell [Tue, 20 Sep 2011 01:50:46 +0000 (11:50 +1000)]
Merge branch 'quilt/hexagon'

13 years agoMerge remote-tracking branch 'cris/for-next'
Stephen Rothwell [Tue, 20 Sep 2011 01:49:28 +0000 (11:49 +1000)]
Merge remote-tracking branch 'cris/for-next'

13 years agoMerge remote-tracking branch 'blackfin/for-linus'
Stephen Rothwell [Tue, 20 Sep 2011 01:48:17 +0000 (11:48 +1000)]
Merge remote-tracking branch 'blackfin/for-linus'

13 years agoMerge remote-tracking branch 'ux500-core/ux500-core'
Stephen Rothwell [Tue, 20 Sep 2011 01:47:06 +0000 (11:47 +1000)]
Merge remote-tracking branch 'ux500-core/ux500-core'

13 years agoMerge remote-tracking branch 's5p/for-next'
Stephen Rothwell [Tue, 20 Sep 2011 01:41:38 +0000 (11:41 +1000)]
Merge remote-tracking branch 's5p/for-next'

Conflicts:
arch/arm/mach-exynos4/mach-smdkc210.c

13 years agoMerge remote-tracking branch 'i.MX/for-next'
Stephen Rothwell [Tue, 20 Sep 2011 01:39:35 +0000 (11:39 +1000)]
Merge remote-tracking branch 'i.MX/for-next'

Conflicts:
arch/arm/mach-imx/Makefile

13 years agoMerge remote-tracking branch 'at91/at91-next'
Stephen Rothwell [Tue, 20 Sep 2011 01:39:28 +0000 (11:39 +1000)]
Merge remote-tracking branch 'at91/at91-next'

13 years agoMerge remote-tracking branch 'arm-soc/for-next'
Stephen Rothwell [Tue, 20 Sep 2011 01:38:16 +0000 (11:38 +1000)]
Merge remote-tracking branch 'arm-soc/for-next'

Conflicts:
Documentation/devicetree/bindings/arm/l2cc.txt
arch/arm/include/asm/hardware/cache-l2x0.h
arch/arm/mach-at91/board-usb-a9260.c
arch/arm/mach-msm/board-msm8x60.c
arch/arm/mach-mxs/include/mach/gpio.h
arch/arm/mach-u300/Makefile.boot
arch/arm/mm/cache-l2x0.c
arch/arm/plat-mxc/include/mach/gpio.h

13 years agoMerge remote-tracking branch 'arm-lpae/for-next'
Stephen Rothwell [Tue, 20 Sep 2011 01:36:26 +0000 (11:36 +1000)]
Merge remote-tracking branch 'arm-lpae/for-next'

Conflicts:
arch/arm/include/asm/page.h
arch/arm/include/asm/pgalloc.h
arch/arm/include/asm/pgtable-hwdef.h
arch/arm/include/asm/pgtable.h
arch/arm/include/asm/tlb.h
arch/arm/kernel/head.S
arch/arm/kernel/sleep.S
arch/arm/mm/dma-mapping.c
arch/arm/mm/mmu.c

13 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Tue, 20 Sep 2011 01:35:09 +0000 (11:35 +1000)]
Merge remote-tracking branch 'arm/for-next'

13 years agoMerge remote-tracking branch 'spi-current/spi/merge'
Stephen Rothwell [Tue, 20 Sep 2011 01:33:57 +0000 (11:33 +1000)]
Merge remote-tracking branch 'spi-current/spi/merge'

13 years agoMerge remote-tracking branch 'wireless-current/master'
Stephen Rothwell [Tue, 20 Sep 2011 01:33:44 +0000 (11:33 +1000)]
Merge remote-tracking branch 'wireless-current/master'

13 years agoMerge remote-tracking branch 'pci-current/for-linus'
Stephen Rothwell [Tue, 20 Sep 2011 01:33:44 +0000 (11:33 +1000)]
Merge remote-tracking branch 'pci-current/for-linus'

13 years agoMerge remote-tracking branch 'sound-current/for-linus'
Stephen Rothwell [Tue, 20 Sep 2011 01:33:43 +0000 (11:33 +1000)]
Merge remote-tracking branch 'sound-current/for-linus'

13 years agoMerge branch 'irq-fixes-for-linus' of git://tesla.tglx.de/git/linux-2.6-tip
Linus Torvalds [Tue, 20 Sep 2011 00:23:41 +0000 (17:23 -0700)]
Merge branch 'irq-fixes-for-linus' of git://tesla.tglx.de/git/linux-2.6-tip

* 'irq-fixes-for-linus' of git://tesla.tglx.de/git/linux-2.6-tip:
  x86, iommu: Mark DMAR IRQ as non-threaded
  genirq: Make irq_shutdown() symmetric vs. irq_startup again

13 years agoMerge branch 'for-linus' of git://github.com/chrismason/linux
Linus Torvalds [Tue, 20 Sep 2011 00:17:32 +0000 (17:17 -0700)]
Merge branch 'for-linus' of git://github.com/chrismason/linux

* 'for-linus' of git://github.com/chrismason/linux:
  Btrfs: only clear the need lookup flag after the dentry is setup
  BTRFS: Fix lseek return value for error
  Btrfs: don't change inode flag of the dest clone file
  Btrfs: don't make a file partly checksummed through file clone
  Btrfs: fix pages truncation in btrfs_ioctl_clone()
  btrfs: fix d_off in the first dirent

13 years agoUSB: xHCI: prevent infinite loop when processing MSE event
Andiry Xu [Mon, 19 Sep 2011 23:05:12 +0000 (16:05 -0700)]
USB: xHCI: prevent infinite loop when processing MSE event

When a xHC host is unable to handle isochronous transfer in the
interval, it reports a Missed Service Error event and skips some tds.

Currently xhci driver handles MSE event in the following ways:

1. When encounter a MSE event, set ep->skip flag, update event ring
   dequeue pointer and return.

2. When encounter the next event on this ep, the driver will run the
   do-while loop, fetch td from ep's td_list to find the td
   corresponding to this event.  All tds missed are marked as short
   transfer(-EXDEV).

The do-while loop will end in two ways:

1. If the td pointed by the event trb is found;

2. If the ep ring's td_list is empty.

However, if a buggy HW reports some unpredicted event (for example, an
overrun event following a MSE event while the ep ring is actually not
empty), the driver will never find the td, and it will loop until the
td_list is empty.

Unfortunately, the spinlock is dropped when give back a urb in the
do-while loop.  During the spinlock released period, the class driver
may still submit urbs and add tds to the td_list.  This may cause
disaster, since the td_list will never be empty and the loop never ends,
and the system hangs.

To fix this, count the number of TDs on the ep ring before skipping TDs,
and quit the loop when skipped that number of tds.  This guarantees the
do-while loop will end after certain number of cycles, and driver will
not be trapped in an infinite loop.

Signed-off-by: Andiry Xu <andiry.xu@amd.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agoUSB: xhci: Set change bit when warm reset change is set.
Greg KH [Mon, 19 Sep 2011 23:05:11 +0000 (16:05 -0700)]
USB: xhci: Set change bit when warm reset change is set.

Sometimes, when a USB 3.0 device is disconnected, the Intel Panther
Point xHCI host controller will report a link state change with the
state set to "SS.Inactive".  This causes the xHCI host controller to
issue a warm port reset, which doesn't finish before the USB core times
out while waiting for it to complete.

When the warm port reset does complete, and the xHC gives back a port
status change event, the xHCI driver kicks khubd.  However, it fails to
set the bit indicating there is a change event for that port because the
logic in xhci-hub.c doesn't check for the warm port reset bit.

After that, the warm port status change bit is never cleared by the USB
core, and the xHC stops reporting port status change bits.  (The xHCI
spec says it shouldn't report more port events until all change bits are
cleared.) This means any port changes when a new device is connected
will never be reported, and the port will seem "dead" until the xHCI
driver is unloaded and reloaded, or the computer is rebooted.  Fix this
by making the xHCI driver set the port change bit when a warm port reset
change bit is set.

A better solution would be to make the USB core handle warm port reset
in differently, merging the current code with the standard port reset
code that does an incremental backoff on the timeout, and tries to
complete the port reset two more times before giving up.  That more
complicated fix will be merged next window, and this fix will be
backported to stable.

This should be backported to kernels as old as 3.0, since that was the
first kernel with commit a11496ebf375 ("xHCI: warm reset support").

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Cc: stable@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agostaging: fix comedi build when ISA_DMA_API is enabled but COMEDI_PCI is not enabled
Randy Dunlap [Mon, 19 Sep 2011 23:05:10 +0000 (16:05 -0700)]
staging: fix comedi build when ISA_DMA_API is enabled but COMEDI_PCI is not enabled

Fix build when CONFIG_ISA_DMA_API is enabled but
CONFIG_COMEDI_PCI[_DRIVERS] is not enabled.

Fixes these build errors:

  drivers/staging/comedi/drivers/ni_labpc.c: In function 'labpc_ai_cmd':
  drivers/staging/comedi/drivers/ni_labpc.c:1351: error: implicit declaration of function 'labpc_suggest_transfer_size'
  drivers/staging/comedi/drivers/ni_labpc.c: At top level:
  drivers/staging/comedi/drivers/ni_labpc.c:1802: error: conflicting types for 'labpc_suggest_transfer_size'
  drivers/staging/comedi/drivers/ni_labpc.c:1351: note: previous implicit declaration of 'labpc_suggest_transfer_size' was here

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agoMake taskstats round statistics down to nearest 1k bytes/events
Linus Torvalds [Tue, 20 Sep 2011 00:10:57 +0000 (17:10 -0700)]
Make taskstats round statistics down to nearest 1k bytes/events

Even with just the interface limited to admin, there really is little to
reason to give byte-per-byte counts for taskstats.  So round it down to
something less intrusive.

Acked-by: Balbir Singh <bsingharora@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agoMake TASKSTATS require root access
Linus Torvalds [Tue, 20 Sep 2011 00:04:37 +0000 (17:04 -0700)]
Make TASKSTATS require root access

Ok, this isn't optimal, since it means that 'iotop' needs admin
capabilities, and we may have to work on this some more.  But at the
same time it is very much not acceptable to let anybody just read
anybody elses IO statistics quite at this level.

Use of the GENL_ADMIN_PERM suggested by Johannes Berg as an alternative
to checking the capabilities by hand.

Reported-by: Vasiliy Kulikov <segoon@openwall.com>
Cc: Johannes Berg <johannes.berg@intel.com>
Acked-by: Balbir Singh <bsingharora@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agocfg80211/nl80211: Add PMKSA caching candidate event
Jouni Malinen [Fri, 16 Sep 2011 15:56:23 +0000 (18:56 +0300)]
cfg80211/nl80211: Add PMKSA caching candidate event

When the driver (or most likely firmware) decides which AP to use
for roaming based on internal scan result processing, user space
needs to be notified of PMKSA caching candidates to allow RSN
pre-authentication to be used.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43: LCN-PHY: finish sense setup
Rafał Miłecki [Fri, 16 Sep 2011 14:36:32 +0000 (16:36 +0200)]
b43: LCN-PHY: finish sense setup

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agorfkill: properly assign a boolean type
Mohammed Shafi Shajakhan [Fri, 16 Sep 2011 13:33:40 +0000 (19:03 +0530)]
rfkill: properly assign a boolean type

Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agocfg80211: validate IBSS BSSID
Johannes Berg [Fri, 16 Sep 2011 11:45:25 +0000 (13:45 +0200)]
cfg80211: validate IBSS BSSID

The IBSS BSSID is never validated, so an
invalid one might end up being used. Fix
this by rejecting invalid configuration.

Reported-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43: LCN-PHY: add more init tweaks
Rafał Miłecki [Fri, 16 Sep 2011 10:34:03 +0000 (12:34 +0200)]
b43: LCN-PHY: add more init tweaks

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43: LCN-PHY: init TX power control
Rafał Miłecki [Fri, 16 Sep 2011 10:34:02 +0000 (12:34 +0200)]
b43: LCN-PHY: init TX power control

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43: LCN-PHY: implement SPUR avoidance mode
Rafał Miłecki [Fri, 16 Sep 2011 10:34:01 +0000 (12:34 +0200)]
b43: LCN-PHY: implement SPUR avoidance mode

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43: LCN-PHY: set TX filters
Rafał Miłecki [Fri, 16 Sep 2011 10:34:00 +0000 (12:34 +0200)]
b43: LCN-PHY: set TX filters

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43: LCN-PHY: tweaks for channel switching
Rafał Miłecki [Fri, 16 Sep 2011 10:33:59 +0000 (12:33 +0200)]
b43: LCN-PHY: tweaks for channel switching

They have been taken from brcmsmac, add Broadcom's copyright.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agobcma: cc: export more control functions
Rafał Miłecki [Fri, 16 Sep 2011 10:33:58 +0000 (12:33 +0200)]
bcma: cc: export more control functions

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: Fix regression on queue stop during 2040 bss change
Rajkumar Manoharan [Fri, 16 Sep 2011 10:02:34 +0000 (15:32 +0530)]
mac80211: Fix regression on queue stop during 2040 bss change

The commit "mac80211: stop tx before doing hw config and
rate update" stops the tx queue and call drv_flush so frequently
whenever a beacon got received with 11n htcap. This leads to
massive "Failed to stop TX DMA" logspam on embedded hw. So the
queue stop and flush should be called if and only if there is a
change in the channel type.

Reported-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: signedness bug
Wey-Yi Guy [Thu, 15 Sep 2011 18:46:54 +0000 (11:46 -0700)]
iwlagn: signedness bug

re-apply the unsigned shorts bug fixed by Dan Carpenter but get lost
after the file move.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: fix stack corruption for temperature offset v2
Wey-Yi Guy [Thu, 15 Sep 2011 18:46:53 +0000 (11:46 -0700)]
iwlagn: fix stack corruption for temperature offset v2

Same stack corruption problem as temperature offset

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: do not use interruptible waits
Johannes Berg [Thu, 15 Sep 2011 18:46:52 +0000 (11:46 -0700)]
iwlagn: do not use interruptible waits

Since the dawn of its time, iwlwifi has used
interruptible waits to wait for synchronous
commands and firmware loading.

This leads to "interesting" bugs, because it
can't actually handle the interruptions; for
example when a command sending is interrupted
it will assume the command completed fully,
and then leave it pending, which leads to all
kinds of trouble when the command finishes
later.

Since there's no easy way to gracefully deal
with interruptions, fix the driver to not use
interruptible waits.

This at least fixes the error
iwlagn 0000:02:00.0: Error: Response NULL in  'REPLY_SCAN_ABORT_CMD'

I have seen in P2P testing, but it is likely
that there are other errors caused by this.

Cc: Stanislaw Gruszka <sgruszka@redhat.com>
Cc: stable@kernel.org [2.6.24+]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: use iwl_eeprom_calib_hdr structure
Wey-Yi Guy [Thu, 15 Sep 2011 18:46:51 +0000 (11:46 -0700)]
iwlagn: use iwl_eeprom_calib_hdr structure

For retrieve calibration hdr related information, instead of using structure in
one place and #define in other place, unify the method to use data structure.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: add support for v2 of temperature offset calibration
Wey-Yi Guy [Thu, 15 Sep 2011 18:46:50 +0000 (11:46 -0700)]
iwlagn: add support for v2 of temperature offset calibration

For 2000 series of NICs, version 2 of temperature offset calibration
should be used.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: remove drvdata support from bus layer
Johannes Berg [Thu, 15 Sep 2011 18:46:49 +0000 (11:46 -0700)]
iwlagn: remove drvdata support from bus layer

Since the removal of the sysfs files, it is no
longer necessary to have upper layers control
the drvdata, so let the PCI driver have it for
itself completely.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: move sysfs files to debugfs
Johannes Berg [Thu, 15 Sep 2011 18:46:48 +0000 (11:46 -0700)]
iwlagn: move sysfs files to debugfs

The debug_level and temperature files should be in
debugfs, the txpower file is completely unneeded
since TX power can be set with iw/iwconfig.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: remove unused function declarations
Johannes Berg [Thu, 15 Sep 2011 18:46:47 +0000 (11:46 -0700)]
iwlagn: remove unused function declarations

iwl_suspend and iwl_resume don't exist.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: rename iwl-pci.h to iwl-cfg.h
Johannes Berg [Thu, 15 Sep 2011 18:46:46 +0000 (11:46 -0700)]
iwlagn: rename iwl-pci.h to iwl-cfg.h

There's nothing PCI(E) specific in this file.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: clean up PM code
Johannes Berg [Thu, 15 Sep 2011 18:46:45 +0000 (11:46 -0700)]
iwlagn: clean up PM code

The transport callbacks might as well be undefined
when CONFIG_PM_SLEEP is not set, so ifdef all of
it out and make everything available for PM_SLEEP
only.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: Makefile whitespace cleanup
Johannes Berg [Thu, 15 Sep 2011 18:46:44 +0000 (11:46 -0700)]
iwlagn: Makefile whitespace cleanup

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: generically provide iwl_trans_send_cmd_pdu
Johannes Berg [Thu, 15 Sep 2011 18:46:43 +0000 (11:46 -0700)]
iwlagn: generically provide iwl_trans_send_cmd_pdu

There's no need to have the transport layer have a
callback for iwl_trans_send_cmd_pdu() since it is
just a generic wrapper around iwl_trans_send_cmd().

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: move PCI-E transport files
Johannes Berg [Thu, 15 Sep 2011 18:46:42 +0000 (11:46 -0700)]
iwlagn: move PCI-E transport files

Move all the PCI-E specific transport files to
be iwl-trans-pcie*; specifically iwl-trans.c
which is really iwl-trans-pcie.c.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: merge eeprom access into single file
Wey-Yi Guy [Thu, 15 Sep 2011 18:46:41 +0000 (11:46 -0700)]
iwlagn: merge eeprom access into single file

After driver split and no need to support legacy devices, there is no reason
we need to separate the NVM access into different files, merge those.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: provide data after WARN_ON
Emmanuel Grumbach [Thu, 15 Sep 2011 18:46:40 +0000 (11:46 -0700)]
iwlagn: provide data after WARN_ON

From time to time, we hit a WARN_ON in iwl_mac_remove_interface.
This basically means that we got out of sync with mac80211: the vif
we hold differs from the vif 80211 passes as parameter. Try to get
some data that will help to debug this.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: replace beacon_time_fsf_bits variable with #define
Don Fry [Thu, 15 Sep 2011 18:46:39 +0000 (11:46 -0700)]
iwlagn: replace beacon_time_fsf_bits variable with #define

All devices use the same value for beacon_time_tsf_bits.  Use the #define

Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: simplify chain_noise_num_beacons indirection
Fry, Donald H [Thu, 15 Sep 2011 18:46:38 +0000 (11:46 -0700)]
iwlagn: simplify chain_noise_num_beacons indirection

chain_noise_num_beacons is set and never changes.  Use the #define
rather than 3 levels of indirection.

Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: fix modinfo display for 135 ucode.
Fry, Donald H [Thu, 15 Sep 2011 18:46:37 +0000 (11:46 -0700)]
iwlagn: fix modinfo display for 135 ucode.

The modinfo report for 135 ucode is iwlwifi-135-IWL135_UCODE_API_MAX.ucode
Change to show the value of the define:  iwlwifi-135-6.ucode

Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: New SKU for 6005 SFF
Wey-Yi Guy [Thu, 15 Sep 2011 18:46:36 +0000 (11:46 -0700)]
iwlagn: New SKU for 6005 SFF

Adding another SKU for 6005 series devices.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: Convert kzalloc to kcalloc
Joe Perches [Thu, 15 Sep 2011 19:47:26 +0000 (12:47 -0700)]
iwlagn: Convert kzalloc to kcalloc

Convert kzalloc to kcalloc, coalesce multiple lines too.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: add documentation to the transport layer
Emmanuel Grumbach [Thu, 15 Sep 2011 18:46:34 +0000 (11:46 -0700)]
iwlagn: add documentation to the transport layer

and do a few clean up fixes on the way

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: document the bus layer API
Emmanuel Grumbach [Thu, 15 Sep 2011 18:46:33 +0000 (11:46 -0700)]
iwlagn: document the bus layer API

Add documentation to the bus layer API - iwl-bus.h

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: use enum iwl_rxon_context_id instead of u8
Emmanuel Grumbach [Thu, 15 Sep 2011 18:46:32 +0000 (11:46 -0700)]
iwlagn: use enum iwl_rxon_context_id instead of u8

enum iwl_rxon_context_id is the right type to use when we need a
rxon_context_id.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: move iwl_stop / wake_queue to the upper layer
Emmanuel Grumbach [Thu, 15 Sep 2011 18:46:31 +0000 (11:46 -0700)]
iwlagn: move iwl_stop / wake_queue to the upper layer

Add a wrapper in the upper layer to call the mac80211's function.
This allows not to have the transport layer call mac80211 directly.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: free the Tx cmd when a non empty Tx queue is freed
Emmanuel Grumbach [Thu, 15 Sep 2011 18:46:30 +0000 (11:46 -0700)]
iwlagn: free the Tx cmd when a non empty Tx queue is freed

When a non-empty Tx queueis freed, the buffer it contains must be
freed too. Since the Tx cmd are now allocated from a pool, the Tx
cmd must be freed too.

This patch avoids to destroy a non-empty pool of Tx cmd.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: unmap cmd queue's tfds as BIDI
Emmanuel Grumbach [Thu, 15 Sep 2011 18:46:29 +0000 (11:46 -0700)]
iwlagn: unmap cmd queue's tfds as BIDI

If the driver is unloaded while there is still a host command in
flight, its tfd will be freed by iwl_tx_queue_free.
This function is called for both types of queues: Tx queues and cmd
queue. This didn't take in count the fact that in Tx queues, tfds are
mapped as TO_DEVICE (besides the first TB), whereas in cmd queue, all
TBs are mapped as BIDI.

Hence, tx_queue_free unmapped the second (and higher) TB of each tfd
in the cmd queue as TO_DEVICE, whereas they must be freed as BIDI.
This means that if a multi TFD is in flight while we unload the
driver (which is quite unlikely but can happen), we will get the
warning below.

This patch fixes this.

[  445.234060] ------------[ cut here ]------------
[  445.236273] WARNING: at lib/dma-debug.c:861 check_unmap+0x337/0x780()
[  445.236654] iwlagn 0000:02:00.0: DMA-API: device driver frees DMA memory with different direction [device address=0x0000000126950540] [size=8 bytes] [mapped with DMA_BIDIRECTIONAL] [unmapped with DMA_TO_DEVICE]
[  445.236654] Modules linked in: ...
[  445.236654] Pid: 1415, comm: modprobe Not tainted 3.1.0-rc4-wl-65912-g5215ff1-dirty #79
[  445.236654] Call Trace:
[  445.236654]  [<ffffffff81043a51>] warn_slowpath_common+0x71/0xa0
[  445.236654]  [<ffffffff81043b37>] warn_slowpath_fmt+0x47/0x50
[  445.236654]  [<ffffffff8121e687>] check_unmap+0x337/0x780
[  445.236654]  [<ffffffff810e9136>] ? free_one_page+0x156/0x320
[  445.236654]  [<ffffffff8121ec5a>] debug_dma_unmap_page+0x5a/0x60
[  445.236654]  [<ffffffffa021d701>] iwlagn_unmap_tfd.isra.11+0x121/0x1c0 [iwlagn]
[  445.236654]  [<ffffffffa021ddf2>] iwlagn_txq_free_tfd+0x42/0x70 [iwlagn]
[  445.236654]  [<ffffffffa02121de>] iwl_tx_queue_unmap+0x4e/0x70 [iwlagn]
[  445.236654]  [<ffffffffa0212fad>] iwl_trans_pcie_tx_free+0x10d/0x440 [iwlagn]
[  445.236654]  [<ffffffff81064959>] ? destroy_workqueue+0xb9/0x1e0
[  445.236654]  [<ffffffffa021330a>] iwl_trans_pcie_free+0x2a/0x2c0 [iwlagn]
[  445.236654]  [<ffffffffa022f4f2>] iwl_remove+0x149/0x17e [iwlagn]
[  445.236654]  [<ffffffffa022f546>] iwl_pci_remove+0x1f/0x65 [iwlagn]
[  445.236654]  [<ffffffff81228337>] pci_device_remove+0x47/0x120
[  445.236654]  [<ffffffff8134566c>] __device_release_driver+0x7c/0xe0
[  445.236654]  [<ffffffff81345dc8>] driver_detach+0xc8/0xd0
[  445.236654]  [<ffffffff813454c8>] bus_remove_driver+0x88/0xe0
[  445.236654]  [<ffffffff81346572>] driver_unregister+0x62/0xa0
[  445.236654]  [<ffffffff812271d4>] pci_unregister_driver+0x44/0xc0
[  445.236654]  [<ffffffffa0211ce5>] iwl_pci_unregister_driver+0x15/0x20 [iwlagn]
[  445.236654]  [<ffffffffa022f595>] iwl_exit+0x9/0xa74 [iwlagn]
[  445.236654]  [<ffffffff810918f4>] sys_delete_module+0x184/0x240
[  445.236654]  [<ffffffff81452ece>] ? retint_swapgs+0xe/0x13
[  445.236654]  [<ffffffff8121098e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[  445.236654]  [<ffffffff81459e2b>] system_call_fastpath+0x16/0x1b
[  445.236654] ---[ end trace 1fbc362b7dbe5d74 ]---
[  445.236654] Mapped at:
[  445.236654]  [<ffffffff8121d7cb>] debug_dma_map_page+0x8b/0x150
[  445.236654]  [<ffffffffa021e7b7>] iwl_enqueue_hcmd+0x837/0xa40 [iwlagn]
[  445.236654]  [<ffffffffa021f92d>] iwl_trans_pcie_send_cmd+0x8d/0x580 [iwlagn]
[  445.236654]  [<ffffffffa01f7c75>] iwl_send_calib_results+0x75/0xd0 [iwlagn]
[  445.236654]  [<ffffffffa01f21f6>] iwlagn_alive_notify+0x196/0x1f0 [iwlagn]
[  445.386500] iwlagn 0000:02:00.0: PCI INT A disabled

Reported-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoiwlagn: warn about buggy fw that doesn't set SEQ_RX_FRAME
Emmanuel Grumbach [Thu, 15 Sep 2011 18:46:28 +0000 (11:46 -0700)]
iwlagn: warn about buggy fw that doesn't set SEQ_RX_FRAME

The way we check if there is host command that should be reclaimed is
way too complicated. We should have a clear indication from the fw.
The fw is expected to set the SEQ_RX_FRAME bit if the frame was
originated by the fw which indicates to the driver that there is no
host command to free.
Somehow, there seem to have been buggy fw out there, hence the very
old comment.

This code checks if we have still buggy fw out there.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k: Reset caldata on radio enable
Rajkumar Manoharan [Thu, 15 Sep 2011 13:32:54 +0000 (19:02 +0530)]
ath9k: Reset caldata on radio enable

Not doing so, the caldata continues to retain older history
values learned on that channel. It is always safer to start
noise floor calibration from the defaults after the assoication.
So this patch resets the nf history buffer when none of the
STA vifs are associated.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k: load noise floor from history after the full chip reset
Rajkumar Manoharan [Thu, 15 Sep 2011 13:32:53 +0000 (19:02 +0530)]
ath9k: load noise floor from history after the full chip reset

Currently during the full reset, the nf calibration is always
restarted from the defaults. The noise floor history buffers are
never be used again after the scan and ath reset. This patch
ensures that nf histories are always be used that helps to
improve the signal quality on congested environment

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k_hw: Fix magnitude/phase coeff correction
Rajkumar Manoharan [Thu, 15 Sep 2011 13:32:25 +0000 (19:02 +0530)]
ath9k_hw: Fix magnitude/phase coeff correction

Do the magnitude/phase coeff correction only if the outlier
is detected. Updating wrong magnitude/phase coeff factor
impacts not only tx gain setting but also leads to poor
performance in congested networks. In the clear environment
the impact is very minimal because the outlier happens
very rarely according to the past experiment. It occured
less than once every 1000 calibrations.

Cc: stable@kernel.org
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>