platform/kernel/kernel-mfld-blackbay.git
15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-for-30
Linus Torvalds [Sat, 28 Mar 2009 21:00:33 +0000 (14:00 -0700)]
Merge git://git./linux/kernel/git/arjan/linux-2.6-async-for-30

* git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-for-30:
  fastboot: remove duplicate unpack_to_rootfs()
  ide/net: flip the order of SATA and network init
  async: remove the temporary (2.6.29) "async is off by default" code

Fix up conflicts in init/initramfs.c manually

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney...
Linus Torvalds [Sat, 28 Mar 2009 20:55:49 +0000 (13:55 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/cooloney/blackfin-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6:
  Blackfin arch: be less noisy when gets a gpio conflict after kernel has booted
  Blackfin arch: add RSI's definitions to bf514 and bf516
  Blackfin arch: add link-time asserts to make sure on-chip regions dont overflow
  Blackfin arch: sport spi needs 6 gpio pins
  Blackfin arch: add sport-spi related resource stuff to board file
  Blackfin arch: Blacklist Hibernate (PM_SUSPEND_MEM) on BF561 as well
  Blackfin arch: Privide BF537-STAMP platform data of ADP5520 Multifunction driver
  Blackfin arch: enable the platfrom PATA driver with CF Cards
  Blackfin arch: clean up sports header file
  Blackfin arch: convert BF5{18,27,48}_FAMILY to CONFIG_BF{51,52,54}x
  Blackfin arch: bf51x processors also have 8 timers
  Blackfin arch: add a check to make sure only Blackfin GPIOs may generate IRQs
  Blackfin arch: update default kernel configuration
  Blackfin arch: include linux headers that this one uses definitions from fro sport drivers

15 years agoMerge branch 'percpu-cpumask-x86-for-linus-2' of git://git.kernel.org/pub/scm/linux...
Linus Torvalds [Sat, 28 Mar 2009 20:40:20 +0000 (13:40 -0700)]
Merge branch 'percpu-cpumask-x86-for-linus-2' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'percpu-cpumask-x86-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (682 commits)
  percpu: fix spurious alignment WARN in legacy SMP percpu allocator
  percpu: generalize embedding first chunk setup helper
  percpu: more flexibility for @dyn_size of pcpu_setup_first_chunk()
  percpu: make x86 addr <-> pcpu ptr conversion macros generic
  linker script: define __per_cpu_load on all SMP capable archs
  x86: UV: remove uv_flush_tlb_others() WARN_ON
  percpu: finer grained locking to break deadlock and allow atomic free
  percpu: move fully free chunk reclamation into a work
  percpu: move chunk area map extension out of area allocation
  percpu: replace pcpu_realloc() with pcpu_mem_alloc() and pcpu_mem_free()
  x86, percpu: setup reserved percpu area for x86_64
  percpu, module: implement reserved allocation and use it for module percpu variables
  percpu: add an indirection ptr for chunk page map access
  x86: make embedding percpu allocator return excessive free space
  percpu: use negative for auto for pcpu_setup_first_chunk() arguments
  percpu: improve first chunk initial area map handling
  percpu: cosmetic renames in pcpu_setup_first_chunk()
  percpu: clean up percpu constants
  x86: un-__init fill_pud/pmd/pte
  x86: remove vestigial fix_ioremap prototypes
  ...

Manually merge conflicts in arch/ia64/kernel/irq_ia64.c

15 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Sat, 28 Mar 2009 20:31:33 +0000 (13:31 -0700)]
Merge branch 'release' of git://git./linux/kernel/git/aegl/linux-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  [IA64] Fix kstat_this_cpu build breakage

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
Linus Torvalds [Sat, 28 Mar 2009 20:30:43 +0000 (13:30 -0700)]
Merge git://git./linux/kernel/git/jejb/scsi-misc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (119 commits)
  [SCSI] scsi_dh_rdac: Retry for NOT_READY check condition
  [SCSI] mpt2sas: make global symbols unique
  [SCSI] sd: Make revalidate less chatty
  [SCSI] sd: Try READ CAPACITY 16 first for SBC-2 devices
  [SCSI] sd: Refactor sd_read_capacity()
  [SCSI] mpt2sas v00.100.11.15
  [SCSI] mpt2sas: add MPT2SAS_MINOR(221) to miscdevice.h
  [SCSI] ch: Add scsi type modalias
  [SCSI] 3w-9xxx: add power management support
  [SCSI] bsg: add linux/types.h include to bsg.h
  [SCSI] cxgb3i: fix function descriptions
  [SCSI] libiscsi: fix possbile null ptr session command cleanup
  [SCSI] iscsi class: remove host no argument from session creation callout
  [SCSI] libiscsi: pass session failure a session struct
  [SCSI] iscsi lib: remove qdepth param from iscsi host allocation
  [SCSI] iscsi lib: have lib create work queue for transmitting IO
  [SCSI] iscsi class: fix lock dep warning on logout
  [SCSI] libiscsi: don't cap queue depth in iscsi modules
  [SCSI] iscsi_tcp: replace scsi_debug/tcp_debug logging with iscsi conn logging
  [SCSI] libiscsi_tcp: replace tcp_debug/scsi_debug logging with session/conn logging
  ...

15 years agofastboot: remove duplicate unpack_to_rootfs()
Li, Shaohua [Wed, 13 Aug 2008 09:26:01 +0000 (17:26 +0800)]
fastboot: remove duplicate unpack_to_rootfs()

we check if initrd is initramfs first and then do the real unpack. The check
isn't required, we can directly do unpack.  If the initrd isn't an
initramfs, we can remove the garbage.  In my laptop, this saves 0.1s boot
time.

This patch penalizes non-initramfs initrd case, but nowadays, initramfs is
the most widely used method for initrds.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Acked-by: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agoide/net: flip the order of SATA and network init
Arjan van de Ven [Tue, 27 Jan 2009 02:58:11 +0000 (18:58 -0800)]
ide/net: flip the order of SATA and network init

this patch flips the order in which sata and network drivers are initialized.

SATA probing takes quite a bit of time, and with the asynchronous infrastructure
other drivers that run after it can execute in parallel. Network drivers do tend
to take some real time talking to the hardware, so running these later is
a good thing (the sata probe then runs concurrent)

This saves about 15% of my kernels boot time.

Both Dave and Jeff acked this patch and suggested it should go via the async
tree.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Acked-by: David S. Miller <davem@davemloft.net>
Acked-by: Jeff Garzik <jeff@garzik.org>
15 years agoasync: remove the temporary (2.6.29) "async is off by default" code
Arjan van de Ven [Sun, 15 Mar 2009 18:11:44 +0000 (11:11 -0700)]
async: remove the temporary (2.6.29) "async is off by default" code

Now that everyone has been able to test the async code (and it's being used
in the Moblin betas by default), we can enable it by default.
The various fixes needed have gone into 2.6.29 already.

[With an important bugfix from Stefan Richter]

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
15 years agoBlackfin arch: be less noisy when gets a gpio conflict after kernel has booted
Robin Getz [Sat, 28 Mar 2009 17:10:30 +0000 (01:10 +0800)]
Blackfin arch: be less noisy when gets a gpio conflict after kernel has booted

Once the kernel has booted - be less noisy when someone does a modprobe
(and gets a gpio conflict).

Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
15 years agoBlackfin arch: add RSI's definitions to bf514 and bf516
Cliff Cai [Sat, 28 Mar 2009 17:03:20 +0000 (01:03 +0800)]
Blackfin arch: add RSI's definitions to bf514 and bf516

Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
15 years agoBlackfin arch: add link-time asserts to make sure on-chip regions dont overflow
Mike Frysinger [Sat, 28 Mar 2009 16:47:31 +0000 (00:47 +0800)]
Blackfin arch: add link-time asserts to make sure on-chip regions dont overflow

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
15 years agoBlackfin arch: sport spi needs 6 gpio pins
Cliff Cai [Sat, 28 Mar 2009 15:31:43 +0000 (23:31 +0800)]
Blackfin arch: sport spi needs 6 gpio pins

Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
15 years agoBlackfin arch: add sport-spi related resource stuff to board file
Cliff Cai [Sat, 28 Mar 2009 15:28:51 +0000 (23:28 +0800)]
Blackfin arch: add sport-spi related resource stuff to board file

Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
15 years agoBlackfin arch: Blacklist Hibernate (PM_SUSPEND_MEM) on BF561 as well
Michael Hennerich [Sat, 28 Mar 2009 15:14:41 +0000 (23:14 +0800)]
Blackfin arch: Blacklist Hibernate (PM_SUSPEND_MEM) on BF561 as well

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
15 years agoBlackfin arch: Privide BF537-STAMP platform data of ADP5520 Multifunction driver
Michael Hennerich [Sat, 28 Mar 2009 14:15:07 +0000 (22:15 +0800)]
Blackfin arch: Privide BF537-STAMP platform data of ADP5520 Multifunction driver

ADP5520 Multifunction LCD Backlight and Keypad Input Device Driver

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
15 years agoBlackfin arch: enable the platfrom PATA driver with CF Cards
Michael Hennerich [Sat, 28 Mar 2009 14:13:43 +0000 (22:13 +0800)]
Blackfin arch: enable the platfrom PATA driver with CF Cards

Provide option to use the platfrom PATA driver with CF Cards
on the CF-IDE-NAND Add-On-Card in Common Memory Mode

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
15 years agoBlackfin arch: clean up sports header file
Mike Frysinger [Sat, 28 Mar 2009 12:38:17 +0000 (20:38 +0800)]
Blackfin arch: clean up sports header file

Remove redundancy of the name err_irq

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
15 years agoBlackfin arch: convert BF5{18,27,48}_FAMILY to CONFIG_BF{51,52,54}x
Mike Frysinger [Sat, 28 Mar 2009 12:32:57 +0000 (20:32 +0800)]
Blackfin arch: convert BF5{18,27,48}_FAMILY to CONFIG_BF{51,52,54}x

convert BF5{18,27,48}_FAMILY to CONFIG_BF{51,52,54}x as the defines
are redundant in these cases

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
15 years agoBlackfin arch: bf51x processors also have 8 timers
Mike Frysinger [Sat, 28 Mar 2009 12:31:33 +0000 (20:31 +0800)]
Blackfin arch: bf51x processors also have 8 timers

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
15 years agoBlackfin arch: add a check to make sure only Blackfin GPIOs may generate IRQs
Michael Hennerich [Sat, 28 Mar 2009 13:18:45 +0000 (21:18 +0800)]
Blackfin arch: add a check to make sure only Blackfin GPIOs may generate IRQs

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
15 years agoBlackfin arch: update default kernel configuration
Sonic Zhang [Sat, 28 Mar 2009 15:46:17 +0000 (23:46 +0800)]
Blackfin arch: update default kernel configuration

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
15 years agoBlackfin arch: include linux headers that this one uses definitions from fro sport...
Mike Frysinger [Sat, 28 Mar 2009 09:43:01 +0000 (17:43 +0800)]
Blackfin arch: include linux headers that this one uses definitions from fro sport drivers

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
15 years agoMerge branch 'linus' into percpu-cpumask-x86-for-linus-2
Ingo Molnar [Sat, 28 Mar 2009 03:21:18 +0000 (04:21 +0100)]
Merge branch 'linus' into percpu-cpumask-x86-for-linus-2

Conflicts:
arch/sparc/kernel/time_64.c
drivers/gpu/drm/drm_proc.c

Manual merge to resolve build warning due to phys_addr_t type change
on x86:

drivers/gpu/drm/drm_info.c

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Sat, 28 Mar 2009 01:35:03 +0000 (18:35 -0700)]
Merge git://git./linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (166 commits)
  Revert "ax25: zero length frame filtering in AX25"
  Revert "netrom: zero length frame filtering in NetRom"
  cfg80211: default CONFIG_WIRELESS_OLD_REGULATORY to n
  mac80211/iwlwifi: move virtual A-MDPU queue bookkeeping to iwlwifi
  mac80211: fix aggregation to not require queue stop
  mac80211: add skb length sanity checking
  mac80211: unify and fix TX aggregation start
  mac80211: clean up __ieee80211_tx args
  mac80211: rework the pending packets code
  mac80211: fix A-MPDU queue assignment
  mac80211: rewrite fragmentation
  iwlwifi: show current driver status in user readable format
  b43: Add BCM4307 PCI-ID
  cfg80211: fix locking in nl80211_set_wiphy
  mac80211: fix RX path
  ath5k: properly drop packets from ops->tx
  ar9170: single module build
  ath9k: fix dma mapping leak of rx buffer upon rmmod
  rt2x00: New USB ID for rt73usb
  ath5k: warn and correct rate for unknown hw rate indexes
  ...

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Sat, 28 Mar 2009 01:34:34 +0000 (18:34 -0700)]
Merge git://git./linux/kernel/git/davem/sparc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
  sparc64: We need to use compat_sys_ustat() as well.
  sparc64: Fix MM refcount check in smp_flush_tlb_pending().

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394...
Linus Torvalds [Sat, 28 Mar 2009 01:33:56 +0000 (18:33 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/ieee1394/linux1394-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (53 commits)
  DVB: firedtv: FireDTV S2 problems with tuning solved
  DVB: firedtv: fix printk format mismatch
  ieee1394: constify device ID tables
  ieee1394: raw1394: add sparse annotations to raw1394_compat_write
  ieee1394: Storage class should be before const qualifier
  ieee1394: sbp2: follow up on "ieee1394: inherit ud vendor_id from node vendor_id"
  firewire: core: optimize propagation of BROADCAST_CHANNEL
  firewire: core: simplify broadcast channel allocation
  firewire: core: increase bus manager grace period
  firewire: core: drop unused call parameters of close_transaction
  firewire: cdev: add closure to async stream ioctl
  firewire: cdev: simplify FW_CDEV_IOC_SEND_REQUEST return value
  firewire: cdev: fix race of ioctl_send_request with bus reset
  firewire: cdev: secure add_descriptor ioctl
  firewire: cdev: amendment to "add ioctl to query maximum transmission speed"
  firewire: broadcast channel support
  firewire: implement asynchronous stream transmission
  firewire: core: normalize a function argument name
  firewire: normalize a variable name
  firewire: core: remove condition which is always false
  ...

15 years agosparc64: We need to use compat_sys_ustat() as well.
David S. Miller [Sat, 28 Mar 2009 01:15:02 +0000 (18:15 -0700)]
sparc64: We need to use compat_sys_ustat() as well.

Sparc was missed in commit 2b1c6bd77d4e6a727ffac8630cd154b2144b751a
("generic compat_sys_ustat").  We definitely need it, since our
__kernel_ino_t is "unsigned long".

Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
David S. Miller [Sat, 28 Mar 2009 00:35:07 +0000 (17:35 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-2.6

15 years agoRevert "ax25: zero length frame filtering in AX25"
David S. Miller [Sat, 28 Mar 2009 00:23:42 +0000 (17:23 -0700)]
Revert "ax25: zero length frame filtering in AX25"

This reverts commit f99bcff7a290768e035f3d4726e103c6ebe858bf.

Like netrom, Alan Cox says that zero lengths have real meaning
and are useful in this protocol.

Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoRevert "netrom: zero length frame filtering in NetRom"
David S. Miller [Sat, 28 Mar 2009 00:22:55 +0000 (17:22 -0700)]
Revert "netrom: zero length frame filtering in NetRom"

This reverts commit a3ac80a130300573de351083cf4a5b46d233e8bf.

Alan Cox says that zero length writes do have special meaning
and are useful in this protocol.

Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoMerge branch 'master' of /home/davem/src/GIT/linux-2.6/
David S. Miller [Sat, 28 Mar 2009 00:19:16 +0000 (17:19 -0700)]
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/

15 years agocfg80211: default CONFIG_WIRELESS_OLD_REGULATORY to n
Luis R. Rodriguez [Wed, 25 Mar 2009 01:21:07 +0000 (21:21 -0400)]
cfg80211: default CONFIG_WIRELESS_OLD_REGULATORY to n

And update description and feature-removal schedule according
to the new plan.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211/iwlwifi: move virtual A-MDPU queue bookkeeping to iwlwifi
Johannes Berg [Mon, 23 Mar 2009 16:28:42 +0000 (17:28 +0100)]
mac80211/iwlwifi: move virtual A-MDPU queue bookkeeping to iwlwifi

This patch removes all the virtual A-MPDU-queue bookkeeping from
mac80211. Curiously, iwlwifi already does its own bookkeeping, so
it doesn't require much changes except where it needs to handle
starting and stopping the queues in mac80211.

To handle the queue stop/wake properly, we rewrite the software
queue number for aggregation frames and internally to iwlwifi keep
track of the queues that map into the same AC queue, and only talk
to mac80211 about the AC queue. The implementation requires calling
two new functions, iwl_stop_queue and iwl_wake_queue instead of the
mac80211 counterparts.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: Reinette Chattre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: fix aggregation to not require queue stop
Johannes Berg [Mon, 23 Mar 2009 16:28:41 +0000 (17:28 +0100)]
mac80211: fix aggregation to not require queue stop

Instead of stopping the entire AC queue when enabling aggregation
(which was only done for hardware with aggregation queues) buffer
the packets for each station, and release them to the pending skb
queue once aggregation is turned on successfully.

We get a little more code, but it becomes conceptually simpler and
we can remove the entire virtual queue mechanism from mac80211 in
a follow-up patch.

This changes how mac80211 behaves towards drivers that support
aggregation but have no hardware queues -- those drivers will now
not be handed packets while the aggregation session is being
established, but only after it has been fully established.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: add skb length sanity checking
Johannes Berg [Mon, 23 Mar 2009 16:28:40 +0000 (17:28 +0100)]
mac80211: add skb length sanity checking

We just found a bug in zd1211rw where it would reject
packets in the ->tx() method but leave them modified,
which would cause retransmit attempts with completely
bogus skbs, eventually leading to a panic due to not
having enough headroom in those.

This patch adds a sanity check to mac80211 to catch
such driver mistakes; in this case we warn and drop
the skb.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: unify and fix TX aggregation start
Johannes Berg [Mon, 23 Mar 2009 16:28:39 +0000 (17:28 +0100)]
mac80211: unify and fix TX aggregation start

When TX aggregation becomes operational, we do a number of steps:
 1) print a debug message
 2) wake the virtual queue
 3) notify the driver

Unfortunately, 1) and 3) are only done if the driver is first to
reply to the aggregation request, it is, however, possible that the
remote station replies before the driver! Thus, unify the code for
this and call the new function ieee80211_agg_tx_operational in both
places where TX aggregation can become operational.

Additionally, rename the driver notification from
IEEE80211_AMPDU_TX_RESUME to IEEE80211_AMPDU_TX_OPERATIONAL.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: clean up __ieee80211_tx args
Johannes Berg [Mon, 23 Mar 2009 16:28:38 +0000 (17:28 +0100)]
mac80211: clean up __ieee80211_tx args

__ieee80211_tx takes a struct ieee80211_tx_data argument, but only
uses a few of its members, namely 'skb' and 'sta'. Make that explicit,
so that less internal knowledge is required in ieee80211_tx_pending
and the possibility of introducing errors here is removed.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Reviewed-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: rework the pending packets code
Johannes Berg [Mon, 23 Mar 2009 16:28:37 +0000 (17:28 +0100)]
mac80211: rework the pending packets code

The pending packets code is quite incomprehensible, uses memory barriers
nobody really understands, etc. This patch reworks it entirely, using
the queue spinlock, proper stop bits and the skb queues themselves to
indicate whether packets are pending or not (rather than a separate
variable like before).

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Reviewed-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: fix A-MPDU queue assignment
Johannes Berg [Mon, 23 Mar 2009 16:28:36 +0000 (17:28 +0100)]
mac80211: fix A-MPDU queue assignment

Internally, mac80211 requires the skb's queue mapping to be set
to the AC queue, not the virtual A-MPDU queue. This is not done
correctly currently, this patch moves the code down to directly
before the driver is invoked and adds a comment that it will be
moved into the driver later.

Since this requires __ieee80211_tx() to have the sta pointer,
make sure to provide it in ieee80211_tx_pending().

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Reviewed-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: rewrite fragmentation
Johannes Berg [Mon, 23 Mar 2009 16:28:35 +0000 (17:28 +0100)]
mac80211: rewrite fragmentation

Fragmentation currently uses an allocated array to store the
fragment skbs, and then keeps track of which have been sent
and which are still pending etc. This is rather complicated;
make it simpler by just chaining the fragments into skb->next
and removing from that list when sent. Also simplifies all
code that needs to touch fragments, since it now only needs
to walk the skb->next list.

This is a prerequisite for fixing the stored packet code,
which I need to do for proper aggregation packet storing.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Reviewed-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: show current driver status in user readable format
Wey-Yi Guy [Tue, 24 Mar 2009 17:02:54 +0000 (10:02 -0700)]
iwlwifi: show current driver status in user readable format

change the display of current driver status bit to user readable format
for better and easier debugging

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Add BCM4307 PCI-ID
Michael Buesch [Tue, 24 Mar 2009 09:36:48 +0000 (10:36 +0100)]
b43: Add BCM4307 PCI-ID

00:09.0 Network controller [0280]: Broadcom Corporation BCM4307 Ethernet Controller [14e4:4306] (rev 03)
    Subsystem: Broadcom Corporation BCM4307 Ethernet Controller [14e4:4306]
    Flags: bus master, fast devsel, latency 32, IRQ 10
    Memory at d7000000 (32-bit, non-prefetchable) [size=8K]
    Kernel driver in use: b43-pci-bridge
    Kernel modules: ssb

Reported-by: yoann <yoann71@msn.com>
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: fix locking in nl80211_set_wiphy
Johannes Berg [Tue, 24 Mar 2009 08:35:46 +0000 (09:35 +0100)]
cfg80211: fix locking in nl80211_set_wiphy

Luis reports that there's a circular locking dependency;
this is because cfg80211_dev_rename() will acquire the
cfg80211_mutex while the device mutex is held, while
this normally is done the other way around. The solution
is to open-code the device-getting in nl80211_set_wiphy
and require holding the mutex around cfg80211_dev_rename
rather than acquiring it within.

Also fix a bug -- rtnl locking is expected by drivers so
we need to provide it.

Reported-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: fix RX path
Johannes Berg [Tue, 24 Mar 2009 07:46:57 +0000 (08:46 +0100)]
mac80211: fix RX path

My previous patch ("mac80211: remove mixed-cell and userspace MLME code")
was too obvious to me, so obvious that a stupid bug crept in. The IBSS
RX function must be invoked for IBSS, of course, not anything != IBSS.

Reported-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Tested-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath5k: properly drop packets from ops->tx
Bob Copeland [Tue, 24 Mar 2009 03:35:37 +0000 (23:35 -0400)]
ath5k: properly drop packets from ops->tx

We shouldn't return NETDEV_TX_BUSY from the TX callback, especially
after we've mucked with the sk_buffs.  Drop the packets and return
NETDEV_TX_OK.

Changes-licensed-under: 3-Clause-BSD

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoar9170: single module build
Christian Lamparter [Tue, 24 Mar 2009 15:21:55 +0000 (16:21 +0100)]
ar9170: single module build

This patch restores all-in-one module build procedure for ar9170.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: fix dma mapping leak of rx buffer upon rmmod
Luis R. Rodriguez [Mon, 23 Mar 2009 22:25:01 +0000 (18:25 -0400)]
ath9k: fix dma mapping leak of rx buffer upon rmmod

We were claiming DMA buffers on the RX tasklet but never
upon a simple module removal.

Cc: stable@kernel.org
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort2x00: New USB ID for rt73usb
Ivo van Doorn [Fri, 20 Mar 2009 23:00:57 +0000 (00:00 +0100)]
rt2x00: New USB ID for rt73usb

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath5k: warn and correct rate for unknown hw rate indexes
Bob Copeland [Tue, 3 Mar 2009 02:55:18 +0000 (21:55 -0500)]
ath5k: warn and correct rate for unknown hw rate indexes

ath5k sets up a mapping table from the hardware rate index to
the rate index used by mac80211; however, we have seen some
received frames with incorrect rate indexes.  Such frames
normally get dropped with a warning in __ieee80211_rx(),
but it doesn't include enough information to track down the
error.

This patch adds a warning to hw_to_driver_rix for any lookups
that result in a rate index of -1, then returns a valid rate so
the frame can be processed.

Changes-licensed-under: 3-Clause-BSD

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Cc: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: fix b43_plcp_get_bitrate_idx_ofdm return type
Lorenzo Nava [Sun, 22 Mar 2009 18:15:41 +0000 (19:15 +0100)]
b43: fix b43_plcp_get_bitrate_idx_ofdm return type

This patch fixes the return type of b43_plcp_get_bitrate_idx_ofdm. If
the plcp contains an error, the function return value is 255 instead
of -1, and the packet was not dropped. This causes a warning in
__ieee80211_rx function because rate idx is out of range.

Cc: stable@kernel.org
Signed-off-by: Lorenzo Nava <navalorenx@gmail.com>
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agop54: Kconfig maintenance
Christian Lamparter [Mon, 23 Mar 2009 14:49:33 +0000 (15:49 +0100)]
p54: Kconfig maintenance

This patch updates p54's Kconfig entry and removes the out-dated device list.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: rate control status only for controlled packets
Johannes Berg [Mon, 23 Mar 2009 13:10:22 +0000 (14:10 +0100)]
mac80211: rate control status only for controlled packets

This patch changes mac80211 to not notify the rate control algorithm's
tx_status() method when reporting status for a packet that didn't go
through the rate control algorithm's get_rate() method.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoar9170: simplify & deBUG tx_status queueing and reporting
Christian Lamparter [Mon, 23 Mar 2009 11:15:43 +0000 (12:15 +0100)]
ar9170: simplify & deBUG tx_status queueing and reporting

This patch simplifies the tx_status report code by using four tx_queues per
station instead of only one. (the skb lookup should be in O(1) now :-p ).

Also, it fixes a really obvious copy&paste bug in the janitor work code and
adds back a few spilled bits to the hardware definition header about QoS.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: add beacon filtering support
Kalle Valo [Sun, 22 Mar 2009 19:57:35 +0000 (21:57 +0200)]
mac80211: add beacon filtering support

Add IEEE80211_HW_BEACON_FILTERING flag so that driver inform that it supports
beacon filtering. Drivers need to call the new function
ieee80211_beacon_loss() to notify about beacon loss.

Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: add feature to hold bss
Kalle Valo [Sun, 22 Mar 2009 19:57:28 +0000 (21:57 +0200)]
cfg80211: add feature to hold bss

In beacon filtering there needs to be a way to not expire the BSS even
when no beacons are received. Add an interface to cfg80211 to hold
BSS and make sure that it's not expired.

Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: disable power save when scanning
Kalle Valo [Sun, 22 Mar 2009 19:57:21 +0000 (21:57 +0200)]
mac80211: disable power save when scanning

When software scanning we need to disable power save so that all possible
probe responses and beacons are received. For hardware scanning assume that
hardware will take care of that and document that assumption.

Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: track beacons separately from the rx path activity
Kalle Valo [Sun, 22 Mar 2009 19:57:14 +0000 (21:57 +0200)]
mac80211: track beacons separately from the rx path activity

Separate beacon and rx path tracking in preparation for the beacon filtering
support. At the same time change ieee80211_associated() to look a bit simpler.

Probe requests are now sent only after IEEE80211_PROBE_IDLE_TIME, which
is now set to 60 seconds.

Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: decrease execution of the associated timer
Kalle Valo [Sun, 22 Mar 2009 19:57:06 +0000 (21:57 +0200)]
mac80211: decrease execution of the associated timer

Currently the timer is triggering every two seconds
(IEEE80211_MONITORING_INTERVAL). Decrease the timer to only trigger during
data idle periods to avoid waking up CPU unnecessary. The timer will
still trigger during idle periods, that needs to be fixed later.

There's also a functional change that probe requests are sent only when the
data path is idle, earlier they were sent also while there was activity
on the data path.

This is also preparation for the beacon filtering support. Thanks to
Johannes Berg for the idea.

Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath5k: Support LED's on Acer Extensa 5620z
Tulio Magno Quites Machado Filho [Sun, 22 Mar 2009 00:41:13 +0000 (01:41 +0100)]
ath5k: Support LED's on Acer Extensa 5620z

Add vendor ID for Quanta Microsystems and update the led table with the reported device.

Reported-by: Scott Barnes <nekoreeve@gmail.com>
Signed-off-by: Tulio Magno Quites Machado Filho <tuliom@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoar9170: update Makefile, Kconfig and MAINTAINERS
Christian Lamparter [Sat, 21 Mar 2009 22:11:49 +0000 (23:11 +0100)]
ar9170: update Makefile, Kconfig and MAINTAINERS

This patch update all necessary Makefile and Kconfig files.

Now you can then enable ar9170 in the kernel configuration under:
Device Drivers --->
[*] Network device support --->
Wireless LAN --->
[*] Wireless LAN (IEEE 802.11)
<M>   Atheros AR9170 support
<M>     Atheros AR9170 USB support

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoar9170: ar9170: USB frontend driver
Christian Lamparter [Sat, 21 Mar 2009 22:05:48 +0000 (23:05 +0100)]
ar9170: ar9170: USB frontend driver

USB frontend driver code for Atheros' AR9170 modules.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoar9170: mac/bbp and phy code
Christian Lamparter [Sun, 22 Mar 2009 01:36:06 +0000 (02:36 +0100)]
ar9170: mac/bbp and phy code

MAC/BBP and PHY programming code

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoar9170: ar9170: mac80211 interaction code
Christian Lamparter [Sat, 21 Mar 2009 22:05:13 +0000 (23:05 +0100)]
ar9170: ar9170: mac80211 interaction code

This patch contains almost all mac80211 interaction code of AR9170.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoar9170: hardware and eeprom header files
Christian Lamparter [Sat, 21 Mar 2009 22:04:48 +0000 (23:04 +0100)]
ar9170: hardware and eeprom header files

hardware / firmware interface definitions for Atheros' AR9170 based devices.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: remove mixed-cell and userspace MLME code
Johannes Berg [Sat, 21 Mar 2009 16:08:43 +0000 (17:08 +0100)]
mac80211: remove mixed-cell and userspace MLME code

Neither can currently be set from userspace, so there's no
regression potential, and neither will be supported from
userspace since the new userspace APIs allow the SME, which
is in userspace, to control all we need.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: accept no-op interface mode changes
Johannes Berg [Sat, 21 Mar 2009 16:07:59 +0000 (17:07 +0100)]
cfg80211: accept no-op interface mode changes

When somebody tries to set the interface mode to the existing
mode, don't ask the driver but silently accept the setting.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: remove code about country IE support with OLD_REG
Luis R. Rodriguez [Sat, 21 Mar 2009 03:53:07 +0000 (23:53 -0400)]
cfg80211: remove code about country IE support with OLD_REG

We had left in code to allow interested developers to add
support for parsing country IEs when OLD_REG was enabled.
This never happened and since we're going to remove OLD_REG
lets just remove these comments and code for it.

This code path was never being entered so this has no
functional change.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: make regdom module parameter available oustide of OLD_REG
Luis R. Rodriguez [Sat, 21 Mar 2009 03:53:06 +0000 (23:53 -0400)]
cfg80211: make regdom module parameter available oustide of OLD_REG

It seems a few users are using this module parameter although its not
recommended. People are finding it useful despite there being utilities
for setting this in userspace. I'm not aware of any distribution using
this though.

Until userspace and distributions catch up with a default userspace
automatic replacement (GeoClue integration would be nirvana) we copy
the ieee80211_regdom module parameter from OLD_REG to the new reg
code to help these users migrate.

Users who are using the non-valid ISO / IEC 3166 alpha "EU" in their
ieee80211_regdom module parameter and migrate to non-OLD_REG enabled
system will world roam.

This also schedules removal of this same ieee80211_regdom module
parameter circa March 2010. Hope is by then nirvana is reached and
users will abandoned the module parameter completely.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: fix incorrect assumption on last_request for 11d
Luis R. Rodriguez [Sat, 21 Mar 2009 03:53:05 +0000 (23:53 -0400)]
cfg80211: fix incorrect assumption on last_request for 11d

The incorrect assumption is the last regulatory request
(last_request) is always a country IE when processing
country IEs. Although this is true 99% of the time the
first time this happens this could not be true.

This fixes an oops in the branch check for the last_request
when accessing drv_last_ie. The access was done under the
assumption the struct won't be null.

Note to stable: to port to 29 replace as follows, only 29 has
country IE code:

s|NL80211_REGDOM_SET_BY_COUNTRY_IE|REGDOM_SET_BY_COUNTRY_IE

Cc: stable@kernel.org
Reported-by: Quentin Armitage <Quentin@armitage.org.uk>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: force last_request to be set for OLD_REG if regdom is EU
Luis R. Rodriguez [Sat, 21 Mar 2009 03:53:04 +0000 (23:53 -0400)]
cfg80211: force last_request to be set for OLD_REG if regdom is EU

Although EU is a bogus alpha2 we need to process the send request
as our code depends on last_request being set.

Cc: stable@kernel.org
Reported-by: Quentin Armitage <Quentin@armitage.org.uk>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211_hwsim: let the reg workqueue breathe when regtest is set
Luis R. Rodriguez [Sat, 21 Mar 2009 03:46:11 +0000 (23:46 -0400)]
mac80211_hwsim: let the reg workqueue breathe when regtest is set

Without this the regulatory domain isn't seen and we end up
intersecting for each request (each radio).

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoAdd mesh point functionality to ath9k
Pat Erley [Sat, 21 Mar 2009 02:59:59 +0000 (22:59 -0400)]
Add mesh point functionality to ath9k

This patch enables mesh point operation for ath9k.  Tested with b43,
ath9k, rt2500usb, and ath5k as peers.

Signed-off-by: Pat Erley <pat-lkml@erley.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agop54: fix SoftLED compile dependencies
Christian Lamparter [Mon, 23 Mar 2009 14:37:45 +0000 (15:37 +0100)]
p54: fix SoftLED compile dependencies

This patch fixes a compile problem when the MAC80211_LEDS
triggers are enabled but not LED class itself.
(which is sort of pointless, but anyway...)

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agonl80211: Check iftype in cfg80211 code
Jouni Malinen [Fri, 20 Mar 2009 19:21:19 +0000 (21:21 +0200)]
nl80211: Check iftype in cfg80211 code

We do not want to require all the drivers using cfg80211 to need to do
this. In addition, make the error values consistent by using
EOPNOTSUPP instead of semi-random assortment of errno values.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agonl80211: Check that netif_runnin is true in cfg80211 code
Jouni Malinen [Fri, 20 Mar 2009 19:21:18 +0000 (21:21 +0200)]
nl80211: Check that netif_runnin is true in cfg80211 code

We do not want to require all the drivers using cfg80211 to need to do
this or to be prepared to handle these commands when the interface is
down.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agonl80211: Add more through validation of MLME command parameters
Jouni Malinen [Fri, 20 Mar 2009 19:21:17 +0000 (21:21 +0200)]
nl80211: Add more through validation of MLME command parameters

Check that the used authentication type and reason code are valid here
so that drivers/mac80211 do not need to care about this. In addition,
remove the unnecessary validation of SSID attribute length which is
taken care of by netlink policy.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agonl80211: Remove NL80211_CMD_SET_MGMT_EXTRA_IE
Jouni Malinen [Fri, 20 Mar 2009 19:21:16 +0000 (21:21 +0200)]
nl80211: Remove NL80211_CMD_SET_MGMT_EXTRA_IE

The functionality that NL80211_CMD_SET_MGMT_EXTRA_IE provided can now
be achieved with cleaner design by adding IE(s) into
NL80211_CMD_TRIGGER_SCAN, NL80211_CMD_AUTHENTICATE,
NL80211_CMD_ASSOCIATE, NL80211_CMD_DEAUTHENTICATE, and
NL80211_CMD_DISASSOCIATE.

Since this is a very recently added command and there are no known (or
known planned) applications using NL80211_CMD_SET_MGMT_EXTRA_IE and
taken into account how much extra complexity it adds to the IE
processing we have now (and need to add in the future to fix IE order
in couple of frames), it looks like the best option is to just remove
the implementation of this command for now. The enum values themselves
are left to avoid changing the nl80211 command or attribute numbers.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agossb: remove EXPERIMENTAL dependencies.
Michael Buesch [Fri, 20 Mar 2009 15:43:20 +0000 (16:43 +0100)]
ssb: remove EXPERIMENTAL dependencies.

ssb is not experimental anymore.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: Fix memleak in nl80211 authentication on deinit
Jouni Malinen [Fri, 20 Mar 2009 13:53:16 +0000 (15:53 +0200)]
mac80211: Fix memleak in nl80211 authentication on deinit

This file was forgotten from the quilt patch that added MLME
primitives, so the kfree on interface removal is missing. Fix this
potential memleak by freeing the temporary Authentication frame IEs
from SME when the interface is being removed.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Nuke struct ath_xmit_status
Vasanthakumar Thiagarajan [Fri, 20 Mar 2009 09:57:50 +0000 (15:27 +0530)]
ath9k: Nuke struct ath_xmit_status

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Fix bug in reporting status of tx rate
Vasanthakumar Thiagarajan [Fri, 20 Mar 2009 09:57:49 +0000 (15:27 +0530)]
ath9k: Fix bug in reporting status of tx rate

This patch updates count of every hw tried rate with
appropriate tries before reporting tx status of a frame.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: resume properly, add suspend/resume test
Johannes Berg [Fri, 13 Mar 2009 10:44:18 +0000 (11:44 +0100)]
mac80211: resume properly, add suspend/resume test

When mac80211 resumes, it currently doesn't reconfigure the interfaces
entirely and also doesn't reconfigure BSS information -- fix this.

Also, to be able to test this, add a debugfs file that just calls
the suspend/resume code to see what happens when we go through that,
without needing the time-consuming suspend/resume cycle.

(Original version broke the build for CONFIG_PM=n.  Define alternative
functions for that situation. -- JWL)

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Mask PHY TX error interrupt, if not debugging
Michael Buesch [Thu, 19 Mar 2009 18:27:21 +0000 (19:27 +0100)]
b43: Mask PHY TX error interrupt, if not debugging

This masks the PHY TX error interrupt, if debugging is disabled.

Currently we have a bug somewhere which triggers this interrupt once
in a while. (Depends on the network noise/quality). While this is nonfatal,
it scares the hell out of users and we frequently receive bugreports
that incorrectly identify this error message as the reason.

There's another problem with this. The PHY TX error interrupt is protected
with a watchdog that will restart the device if it keeps triggering very often.
This is used to fix interrupt storms from completely broken devices.

However, this watchdog might trigger in completely normal operation.
If the TX capacity of the card is saturated, the likeliness of the watchdog
triggering increases, as more TX errors occur. The current threshold
for the watchdog is 1000 errors in 15 seconds.

This patch adds a workaround for the issue by just enabling the interrupt
if debugging is disabled (by Kconfig or by modparam).

This has the downside that real fatal PHY TX errors are not caught anymore.
But this is nonfatal due to the following reasons:
* If the card is not able to transmit anymore, MLME will notice anyway.
* I did _never_ see a real fatal PHY TX error in a mainline b43 driver.
* It does _not_ result in interrupt storms or something like that.
  It will simply result in a stalled card. It can be debugged by enabling
  the debugging module parameter.

Signed-off-by: Michael Buesch <mb@bu3sch>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agowireless/p54: P54_SPI should depend on GENERIC_HARDIRQS
Geert Uytterhoeven [Thu, 19 Mar 2009 12:33:52 +0000 (13:33 +0100)]
wireless/p54: P54_SPI should depend on GENERIC_HARDIRQS

m68k allmodconfig:
| drivers/net/wireless/p54/p54spi.c: In function 'p54spi_probe':
| drivers/net/wireless/p54/p54spi.c:675: error: implicit declaration of function
| 'set_irq_type'
| make[4]: *** [drivers/net/wireless/p54/p54spi.o] Error 1

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agonl80211: Add MLME primitives to support external SME
Jouni Malinen [Thu, 19 Mar 2009 11:39:22 +0000 (13:39 +0200)]
nl80211: Add MLME primitives to support external SME

This patch adds new nl80211 commands to allow user space to request
authentication and association (and also deauthentication and
disassociation). The commands are structured to allow separate
authentication and association steps, i.e., the interface between
kernel and user space is similar to the MLME SAP interface in IEEE
802.11 standard and an user space application takes the role of the
SME.

The patch introduces MLME-AUTHENTICATE.request,
MLME-{,RE}ASSOCIATE.request, MLME-DEAUTHENTICATE.request, and
MLME-DISASSOCIATE.request primitives. The authentication and
association commands request the actual operations in two steps
(assuming the driver supports this; if not, separate authentication
step is skipped; this could end up being a separate "connect"
command).

The initial implementation for mac80211 uses the current
net/mac80211/mlme.c for actual sending and processing of management
frames and the new nl80211 commands will just stop the current state
machine from moving automatically from authentication to association.
Future cleanup may move more of the MLME operations into cfg80211.

The goal of this design is to provide more control of authentication and
association process to user space without having to move the full MLME
implementation. This should be enough to allow IEEE 802.11r FT protocol
and 802.11s SAE authentication to be implemented. Obviously, this will
also bring the extra benefit of not having to use WEXT for association
requests with mac80211. An example implementation of a user space SME
using the new nl80211 commands is available for wpa_supplicant.

This patch is enough to get IEEE 802.11r FT protocol working with
over-the-air mechanism (over-the-DS will need additional MLME
primitives for handling the FT Action frames).

Signed-off-by: Jouni Malinen <j@w1.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agonl80211: Event notifications for MLME events
Jouni Malinen [Thu, 19 Mar 2009 11:39:21 +0000 (13:39 +0200)]
nl80211: Event notifications for MLME events

Add new nl80211 event notifications (and a new multicast group, "mlme")
for informing user space about received and processed Authentication,
(Re)Association Response, Deauthentication, and Disassociation frames in
station and IBSS modes (i.e., MLME SAP interface primitives
MLME-AUTHENTICATE.confirm, MLME-ASSOCIATE.confirm,
MLME-REASSOCIATE.confirm, MLME-DEAUTHENTICATE.indicate, and
MLME-DISASSOCIATE.indication). The event data is encapsulated as the 802.11
management frame since we already have the frame in that format and it
includes all the needed information.

This is the initial step in providing MLME SAP interface for
authentication and association with nl80211. In other words, kernel code
will act as the MLME and a user space application can control it as the
SME.

Signed-off-by: Jouni Malinen <j@w1.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: Fix reassociation by not clearing previous BSSID
Jouni Malinen [Thu, 19 Mar 2009 11:39:20 +0000 (13:39 +0200)]
mac80211: Fix reassociation by not clearing previous BSSID

We must not clear the previous BSSID when roaming to another AP within
the same ESS for reassociation to be used properly. It is fine to
clear this when the SSID changes, so let's move the code into
ieee80211_sta_set_ssid().

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: Fix a typo in assoc vs. reassoc check
Jouni Malinen [Thu, 19 Mar 2009 11:39:19 +0000 (13:39 +0200)]
mac80211: Fix a typo in assoc vs. reassoc check

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Fix rate control update for aggregated frames
Vasanthakumar Thiagarajan [Wed, 18 Mar 2009 14:52:00 +0000 (20:22 +0530)]
ath9k: Fix rate control update for aggregated frames

We will miss rate control update if first A-MPDU of an
aggregation is not Block Acked as we always tell if the
rate control needs to updated through update_rc of first
A-MPDU. This patch does rate control update for the first
A-MPDU which notifies it's tx status (which is not
necessarily the first A-MPDU of an aggregation) to mac80211.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: kill IEEE80211_CONF_SHORT_SLOT_TIME
Johannes Berg [Wed, 18 Mar 2009 13:29:38 +0000 (14:29 +0100)]
mac80211: kill IEEE80211_CONF_SHORT_SLOT_TIME

No drivers use it any more, so it can now be removed safely.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: don't drop nullfunc frames during software scan
Kalle Valo [Wed, 18 Mar 2009 12:06:44 +0000 (14:06 +0200)]
mac80211: don't drop nullfunc frames during software scan

ieee80211_tx_h_check_assoc() was dropping everything else than probe
requests during software scan. So the nullfunc frame with the power save
bit was dropped and AP never received it. This meant that AP never
buffered any frames for the station during software scan.

Fix this by allowing to transmit both probe request and nullfunc frames
during software scan. Tested with stlc45xx.

Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: replace stations with stations_39
Abhijeet Kolekar [Wed, 18 Mar 2009 04:51:53 +0000 (21:51 -0700)]
iwl3945: replace stations with stations_39

A *leftover* stations is replaced with stations_39.

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>
15 years agoiwlwifi: report error when detect failure during stop agg queue
Wey-Yi Guy [Wed, 18 Mar 2009 04:51:52 +0000 (21:51 -0700)]
iwlwifi: report error when detect failure during stop agg queue

This fix related to bug 1921 at
http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1921

when detect error during stopping tx aggregation queue, report the error to
help identify the problem.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: control rate decrease
Abhijeet Kolekar [Wed, 18 Mar 2009 04:51:51 +0000 (21:51 -0700)]
iwl3945: control rate decrease

Control the rate decrease. Do not decrease the rate fast.
Use success_ratio for rate scaling :)

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>
15 years agoiwl3945: fix checkpatch.pl errors
Abhijeet Kolekar [Wed, 18 Mar 2009 04:51:50 +0000 (21:51 -0700)]
iwl3945: fix checkpatch.pl errors

Patch fixes two checkpatch.pl errors.

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>
15 years agoiwl3945: use iwl_cmd_queue_free
Abhijeet Kolekar [Wed, 18 Mar 2009 04:51:49 +0000 (21:51 -0700)]
iwl3945: use iwl_cmd_queue_free

iwl_cmd_queue_free needs to be used to free up the cmd_queue,
as TFD slots for cmd_queue and tx_queue are different.

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>
15 years agoiwl3945: set TFD_QUEUE_MAX to correct value
Abhijeet Kolekar [Wed, 18 Mar 2009 04:51:48 +0000 (21:51 -0700)]
iwl3945: set TFD_QUEUE_MAX to correct value

Total number of queues is 8 but only 7 of them are TX queues.
4 AC(Data) queue ,1 CMD and 2 HCCA. The HCCA queues are not used.
max_txq_num is set to maximum usable TX queues.

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>
15 years agoiwlwifi: support 11h
Mohamed Abbas [Wed, 18 Mar 2009 04:51:47 +0000 (21:51 -0700)]
iwlwifi: support 11h

Set IEEE80211_HW_SPECTRUM_MGMT bit in hw->flags, this tell mac80211
we support spectrum mgmt.

Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlcore: dont commit power command if interface is not up
Mohamed Abbas [Wed, 18 Mar 2009 04:51:45 +0000 (21:51 -0700)]
iwlcore: dont commit power command if interface is not up

If user set new power level, accept the new power level and only
send command to host if the interface is up and radio on.

Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlagn: allow power level setting all the times
Mohamed Abbas [Wed, 18 Mar 2009 04:51:44 +0000 (21:51 -0700)]
iwlagn: allow power level setting all the times

allow user to set power level at all times

Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>