GitHub/exynos8895/android_kernel_samsung_universal8895.git
16 years agopkt_sched: Add qdisc_tx_is_noop() helper and use in IPV6.
David S. Miller [Wed, 9 Jul 2008 06:01:27 +0000 (23:01 -0700)]
pkt_sched: Add qdisc_tx_is_noop() helper and use in IPV6.

This indicates if the NOOP scheduler is what is active for TX on a
given device.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet: Clean up explicit ->tx_queue references in link watch.
David S. Miller [Wed, 9 Jul 2008 06:01:06 +0000 (23:01 -0700)]
net: Clean up explicit ->tx_queue references in link watch.

First, we add a qdisc_tx_changing() helper which returns true if the
qdisc attachment is in transition.

Second, we remove an assertion warning which is of limited value and
is hard to express precisely in a multiqueue environment.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agopkt_sched: Add qdisc_all_tx_empty()
David S. Miller [Wed, 9 Jul 2008 06:00:25 +0000 (23:00 -0700)]
pkt_sched: Add qdisc_all_tx_empty()

This is a helper function, currently used by IRDA.

This is being added so that we can contain and isolate as many
explicit ->tx_queue references in the tree as possible.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agopkt_sched: Add qdisc_reset_all_tx().
David S. Miller [Wed, 9 Jul 2008 05:59:10 +0000 (22:59 -0700)]
pkt_sched: Add qdisc_reset_all_tx().

Isolate callers that want to simply reset all the TX qdiscs from the
details of TX queues.

Use this in the ISDN code.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetdev: Move next_sched into struct netdev_queue.
David S. Miller [Wed, 9 Jul 2008 05:58:37 +0000 (22:58 -0700)]
netdev: Move next_sched into struct netdev_queue.

We schedule queues, not the device, for output queue processing in BH.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agopkt_sched: Make netem queue agnostic.
David S. Miller [Wed, 9 Jul 2008 05:57:51 +0000 (22:57 -0700)]
pkt_sched: Make netem queue agnostic.

It just wants the root qdisc given an arbitrary qdisc,
and that is simply qdisc->dev_queue->qdisc

Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Stephen Hemminger <shemminger@vyatta.com>
16 years agopkt_sched: Kill stats_lock member of struct Qdisc.
David S. Miller [Wed, 9 Jul 2008 05:57:31 +0000 (22:57 -0700)]
pkt_sched: Kill stats_lock member of struct Qdisc.

It is always equal to qdisc->dev_queue->lock

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetdev: Kill qdisc_ingress, use netdev->rx_queue.qdisc instead.
David S. Miller [Wed, 9 Jul 2008 05:49:00 +0000 (22:49 -0700)]
netdev: Kill qdisc_ingress, use netdev->rx_queue.qdisc instead.

Now that our qdisc management is bi-directional, per-queue, and fully
orthogonal, there is no reason to have a special ingress qdisc pointer
in struct net_device.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetdev: Move rest of qdisc state into struct netdev_queue
David S. Miller [Wed, 9 Jul 2008 00:42:10 +0000 (17:42 -0700)]
netdev: Move rest of qdisc state into struct netdev_queue

Now qdisc, qdisc_sleeping, and qdisc_list also live there.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetdev: The ingress_lock member is no longer needed.
David S. Miller [Wed, 9 Jul 2008 00:33:13 +0000 (17:33 -0700)]
netdev: The ingress_lock member is no longer needed.

Every qdisc is assosciated with a queue, and in the case of ingress
qdiscs that will now be netdev->rx_queue so using that queue's lock is
the thing to do.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetdev: Move queue_lock into struct netdev_queue.
David S. Miller [Wed, 9 Jul 2008 00:18:23 +0000 (17:18 -0700)]
netdev: Move queue_lock into struct netdev_queue.

The lock is now an attribute of the device queue.

One thing to notice is that "suspicious" places
emerge which will need specific training about
multiple queue handling.  They are so marked with
explicit "netdev->rx_queue" and "netdev->tx_queue"
references.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agopkt_sched: Remove 'dev' member of struct Qdisc.
David S. Miller [Wed, 9 Jul 2008 00:06:30 +0000 (17:06 -0700)]
pkt_sched: Remove 'dev' member of struct Qdisc.

It can be obtained via the netdev_queue.  So create a helper routine,
qdisc_dev(), to make the transformations nicer looking.

Now, qdisc_alloc() now no longer needs a net_device pointer argument.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetdev: Create netdev_queue abstraction.
David S. Miller [Tue, 8 Jul 2008 23:55:56 +0000 (16:55 -0700)]
netdev: Create netdev_queue abstraction.

A netdev_queue is an entity managed by a qdisc.

Currently there is one RX and one TX queue, and a netdev_queue merely
contains a backpointer to the net_device.

The Qdisc struct is augmented with a netdev_queue pointer as well.

Eventually the 'dev' Qdisc member will go away and we will have the
resulting hierarchy:

net_device --> netdev_queue --> Qdisc

Also, qdisc_alloc() and qdisc_create_dflt() now take a netdev_queue
pointer argument.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agopkt_sched: Remove comment reference to old style TX locking.
David S. Miller [Tue, 8 Jul 2008 23:46:01 +0000 (16:46 -0700)]
pkt_sched: Remove comment reference to old style TX locking.

We haven't had netdev->tbusy in many years :)

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
David S. Miller [Tue, 8 Jul 2008 23:30:17 +0000 (16:30 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6

Conflicts:

drivers/net/wireless/iwlwifi/iwl-3945.c
net/mac80211/mlme.c

16 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireles...
David S. Miller [Tue, 8 Jul 2008 22:39:41 +0000 (15:39 -0700)]
Merge branch 'master' of /linux/kernel/git/linville/wireless-next-2.6

16 years agovlan: avoid header copying and linearisation where possible
Patrick McHardy [Tue, 8 Jul 2008 22:36:57 +0000 (15:36 -0700)]
vlan: avoid header copying and linearisation where possible

- vlan_dev_reorder_header() is only called on the receive path after
  calling skb_share_check(). This means we can use skb_cow() since
  all we need is a writable header.

- vlan_dev_hard_header() includes a work-around for some apparently
  broken out of tree MPLS code. The hard_header functions can expect
  to always have a headroom of at least there own hard_header_len
  available, so the reallocation check is unnecessary.

- __vlan_put_tag() can use skb_cow_head() to avoid the skb_unshare()
  copy when the header is writable.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoipv6: fix race between ipv6_del_addr and DAD timer
Andrey Vagin [Tue, 8 Jul 2008 22:13:31 +0000 (15:13 -0700)]
ipv6: fix race between ipv6_del_addr and DAD timer

Consider the following scenario:

ipv6_del_addr(ifp)
  ipv6_ifa_notify(RTM_DELADDR, ifp)
    ip6_del_rt(ifp->rt)

after returning from the ipv6_ifa_notify and enabling BH-s
back, but *before* calling the addrconf_del_timer the
ifp->timer fires and:

addrconf_dad_timer(ifp)
  addrconf_dad_completed(ifp)
    ipv6_ifa_notify(RTM_NEWADDR, ifp)
      ip6_ins_rt(ifp->rt)

then return back to the ipv6_del_addr and:

in6_ifa_put(ifp)
  inet6_ifa_finish_destroy(ifp)
    dst_release(&ifp->rt->u.dst)

After this we have an ifp->rt inserted into fib6 lists, but
queued for gc, which in turn can result in oopses in the
fib6_run_gc. Maybe some other nasty things, but we caught
only the oops in gc so far.

The solution is to disarm the ifp->timer before flushing the
rt from it.

Signed-off-by: Andrey Vagin <avagin@parallels.com>
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet/wireless/nl80211.c: fix endless Netlink callback loop.
Julius Volz [Tue, 8 Jul 2008 12:02:19 +0000 (14:02 +0200)]
net/wireless/nl80211.c: fix endless Netlink callback loop.

Although I only tested similar code (I don't use any of this wireless
code), the state maintainance between Netlink dump callback invocations
seems wrong here and should lead to an endless loop. There are also other
examples in the same file which might have the same problem. Perhaps someone
can actually test this (or refute my logic).

Take the simple example with only one element in the list (which should fit
into the message):

1. invocation:
  Start:
    idx = 0, start = 0
  Loop:
    condition (++idx < start) => (1 < 0) => false
    => no continue, fill one entry, exit loop, return skb->len > 0

2. invocation:
  Start:
    idx = 0, start = 1
  Loop:
    condition (++idx < start) => (1 < 1) => false
    => no continue, fill the same entry again, exit loop, return skb->len > 0

3. invocation:
  Same as 2. invocation, endless invocation of callback.

Also, iterations where the filling of an element fails should not be counted as
completed, so idx should not be incremented in this case.

Signed-off-by: Julius Volz <juliusv@google.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agortl8187: Change detection of RTL8187B with USB ID of 8187
Larry Finger [Tue, 8 Jul 2008 14:43:43 +0000 (09:43 -0500)]
rtl8187: Change detection of RTL8187B with USB ID of 8187

Some early versions of RTL8187B devices have a USB ID of 0x8187
rather than the 0x8189 of later models. In addition, it appears
that these early units also must be programmed with lower power.
Previous patches used the Product ID string to detect this situation,
but did not address the low power question. This patch uses the
hardware version and sets the power accordingly.

Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agortl8187: updating Kconfig to support RTL8187B
Hin-Tak Leung [Tue, 8 Jul 2008 11:38:02 +0000 (12:38 +0100)]
rtl8187: updating Kconfig to support RTL8187B

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agortl8187: change rtl8187_dev.c to support RTL8187B (part 2)
Hin-Tak Leung [Tue, 8 Jul 2008 11:36:04 +0000 (12:36 +0100)]
rtl8187: change rtl8187_dev.c to support RTL8187B (part 2)

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agortl8187: change rtl8187_dev.c to support RTL8187B (part 1)
Hin-Tak Leung [Tue, 8 Jul 2008 11:33:34 +0000 (12:33 +0100)]
rtl8187: change rtl8187_dev.c to support RTL8187B (part 1)

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agortl8187: updating rtl8187_rtl8225.c to support RTL8187B
Hin-Tak Leung [Tue, 8 Jul 2008 11:31:57 +0000 (12:31 +0100)]
rtl8187: updating rtl8187_rtl8225.c to support RTL8187B

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agortl8187: updating rtl818x.h to support RTL8187B
Hin-Tak Leung [Tue, 8 Jul 2008 11:30:02 +0000 (12:30 +0100)]
rtl8187: updating rtl818x.h to support RTL8187B

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agortl8187: updating rtl8187.h to support RTL8187B
Hin-Tak Leung [Tue, 8 Jul 2008 11:27:54 +0000 (12:27 +0100)]
rtl8187: updating rtl8187.h to support RTL8187B

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Fix register comments
Ivo van Doorn [Sun, 6 Jul 2008 15:09:48 +0000 (17:09 +0200)]
rt2x00: Fix register comments

Fix some register documentation in the register header files.
This allows better parsing by userspace scripts which in turn
helps debugging.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agohostap: don't compile prism2_suspend() for hostap_pci without CONFIG_PM
Pavel Roskin [Sun, 6 Jul 2008 13:12:30 +0000 (09:12 -0400)]
hostap: don't compile prism2_suspend() for hostap_pci without CONFIG_PM

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43legacy: Remove switch statement with 64-bit index
Larry Finger [Fri, 4 Jul 2008 13:39:01 +0000 (08:39 -0500)]
b43legacy: Remove switch statement with 64-bit index

The gcc 3.4 fork used to compile the MN10300 port emits unwanted
__ucmpdi2() calls for switch statements that use a 64bit value.

This patch removes such a switch from b43legacy, and makes the code
more like that used in b43. Thanks to Adrian Bunk <bunk@kernel.org>
for reporting the problem.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Report RX end time for rt2400pci
Ivo van Doorn [Fri, 4 Jul 2008 14:14:59 +0000 (16:14 +0200)]
rt2x00: Report RX end time for rt2400pci

rt2400 is the only currently available rt2x00 driver which
supports reporting of the RX end time for frames.
Since mac80211 uses this information for IBSS syncing, it
is important that it is being reported.

v2: Complement 32 bits of RX timestamp with upper 32bits from TSF

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Use ieee80211_hw->workqueue again
Ivo van Doorn [Fri, 4 Jul 2008 11:41:31 +0000 (13:41 +0200)]
rt2x00: Use ieee80211_hw->workqueue again

Remove the rt2x00 singlethreaded workqueue and move
the link tuner and packet filter scheduled work to
the ieee80211_hw->workqueue again.
The only exception is the interface scheduled work
handler which uses the mac80211 interface iterator
under the RTNL lock. This work needs to be handled
on the kernel workqueue to prevent lockdep issues.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Decrease alignment headroom
Ivo van Doorn [Fri, 4 Jul 2008 12:56:07 +0000 (14:56 +0200)]
rt2x00: Decrease alignment headroom

We only need 4 bytes of headroom for alignment
purposes in the RX frame. It was previously higher
for optimization purposes which are no longer
possible due to DMA mappings.

v2: Fix patch error

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Remove input_polldev requirements for rfkill
Ivo van Doorn [Fri, 4 Jul 2008 12:51:39 +0000 (14:51 +0200)]
rt2x00: Remove input_polldev requirements for rfkill

With the new rfkill interface there is no longer a need
for the input_polldev. Create a delayed_work structure
which we can put on the mac80211 workqueue and poll the
hardware every 1000ms.

v2: Decrease poll frequency from 100ms to 1000ms

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agozd1211rw: beacon config error checking
Daniel Drake [Fri, 4 Jul 2008 03:30:49 +0000 (04:30 +0100)]
zd1211rw: beacon config error checking

Add some error checking to the new beacon configuration code.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: fix lots of kernel-doc
Randy Dunlap [Thu, 3 Jul 2008 20:52:18 +0000 (13:52 -0700)]
mac80211: fix lots of kernel-doc

Fix more than 50 kernel-doc warnings in ieee80211/mac80211 kernel-doc notation.
Fix a few typos also.

Note: Some fields are marked as TBD and need to have their description
corrected.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agorfkill: ignore errors from rfkill_toggle_radio in rfkill_add_switch
Henrique de Moraes Holschuh [Thu, 3 Jul 2008 16:14:57 +0000 (13:14 -0300)]
rfkill: ignore errors from rfkill_toggle_radio in rfkill_add_switch

rfkill_add_switch() calls rfkill_toggle_radio() to set the state of a
recently registered rfkill class to the current global state [for that
rfkill->type].

The rfkill_toggle_radio() call is going to error out if the hardware is
RFKILL_STATE_HARD_BLOCKED, and the global state is RFKILL_STATE_UNBLOCKED.

That is a quite normal situation which I missed to account for.  As things
stand, the error return from rfkill_toggle_radio ends up causing
rfkill_register to bail out with an error (de-registering the new switch in
the process), which is Not Nice.

Change rfkill_add_switch() to not return errors because of a failed call to
rfkill_toggle_radio().  We can go back to returning errors again (if that's
indeed the right thing to do) if we define the exact error codes the
rfkill->toggle_radio callbacks are to return in each situation, so that we
can ignore the right ones only.

Bug reported by "kionez <kionez@anche.no>".

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Cc: kionez <kionez@anche.no>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agorfkill: some minor kernel-doc changes for rfkill_toggle_radio
Henrique de Moraes Holschuh [Thu, 3 Jul 2008 16:14:56 +0000 (13:14 -0300)]
rfkill: some minor kernel-doc changes for rfkill_toggle_radio

Improve rfkill_toggle_radio's kernel-doc header a bit.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: add support for iwconfig wlanX frag auto
Emmanuel Grumbach [Thu, 3 Jul 2008 15:02:27 +0000 (18:02 +0300)]
mac80211: add support for iwconfig wlanX frag auto

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: aes_ccm.c remove crypto wrapper and extra args
Harvey Harrison [Wed, 2 Jul 2008 23:30:53 +0000 (16:30 -0700)]
mac80211: aes_ccm.c remove crypto wrapper and extra args

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: pass scratch buffer directly, remove additional pointers
Harvey Harrison [Wed, 2 Jul 2008 23:30:52 +0000 (16:30 -0700)]
mac80211: pass scratch buffer directly, remove additional pointers

Recalculate the offset pointers in the ccmp calculations rather than
in the callers.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: wpa.c remove rx/tx_data ->fc users
Harvey Harrison [Wed, 2 Jul 2008 23:30:52 +0000 (16:30 -0700)]
mac80211: wpa.c remove rx/tx_data ->fc users

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: remove trivial rx_data->fc users
Harvey Harrison [Wed, 2 Jul 2008 23:30:51 +0000 (16:30 -0700)]
mac80211: remove trivial rx_data->fc users

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: call bss_info_change only once upon disassociation
Tomas Winkler [Wed, 2 Jul 2008 22:27:13 +0000 (01:27 +0300)]
mac80211: call bss_info_change only once upon disassociation

This patch removes call of ieee80211_bss_info_change_notify from within
ieee80211_reset_erp_info. This allows gathering all bss info changes
into one call to the driver in the disassociation flow.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: remove ieee80211_get_hdr_info
Harvey Harrison [Wed, 2 Jul 2008 18:05:35 +0000 (11:05 -0700)]
mac80211: remove ieee80211_get_hdr_info

Do the check for sufficient skb->len explicitly and pass a pointer
to the struct ieee80211_hdr directly to the michael_mic calculation.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: remove one user of ieee80211_get_hdr_info
Harvey Harrison [Wed, 2 Jul 2008 18:05:35 +0000 (11:05 -0700)]
mac80211: remove one user of ieee80211_get_hdr_info

ccmp_special_blocks was only using it to calculate data_len,
calculate that directly.

Use unaligned helpers rather than masking/shifting.

Use symbolic constants for the masked frame_control, and do it directly
on a le16 value.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: use symbolic defines in wpa.c
Harvey Harrison [Wed, 2 Jul 2008 18:05:34 +0000 (11:05 -0700)]
mac80211: use symbolic defines in wpa.c

ETH_ALEN and IEEE80211_QOS_CTL_LEN

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: move QOS control helpers into ieee80211.h
Harvey Harrison [Wed, 2 Jul 2008 18:05:34 +0000 (11:05 -0700)]
mac80211: move QOS control helpers into ieee80211.h

Also remove the WLAN_IS_QOS_DATA inline after removing the last
two users.  This starts moving away from using rx->fc to using
the header frame_control directly.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: fix typo which caused iwl_get_tx_fail_reason to ever return an empty string
Helmut Schaa [Wed, 2 Jul 2008 10:17:06 +0000 (12:17 +0200)]
iwlwifi: fix typo which caused iwl_get_tx_fail_reason to ever return an empty string

Signed-off-by: Helmut Schaa <hschaa@suse.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: remove MAC80211_DEBUG from net/mac80211/Kconfig.
Rami Rosen [Wed, 2 Jul 2008 07:53:57 +0000 (10:53 +0300)]
mac80211: remove MAC80211_DEBUG from net/mac80211/Kconfig.

This patch removes MAC80211_DEBUG from /net/mac80211/Kconfig
(in MAC80211_DEBUG_COUNTERS config entry), and replaces
MAC80211_DEBUG_MENU instead of MAC80211_DEBUG
(in MAC80211_VERBOSE_SPECT_MGMT_DEBUG config entry).

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: remove input device and fix rfkill state
Adel Gadllah [Tue, 1 Jul 2008 15:49:50 +0000 (17:49 +0200)]
iwlwifi: remove input device and fix rfkill state

This patch fixes the iwlwifi rfkill. It removes the input device from iwl3945,
adds support for RFKILL_STATE_HARD_BLOCKED and calls rfkill_force_state() to
update the state rather than accessing it directly.
The calls to iwl|iwl3945_rfkill_set_hw_state() had to be moved because
rfkill_force_state() cannot be called from an atomic context.
Tested on iwl3945 and seems to work fine.

Cc: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Ivo van Doorn <ivdoorn@gmail.com>
Cc: Fabien Crespel <fcrespel@gmail.com>
Cc: Zhu Yi <yi.zhu@intel.com>
Cc: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Adel Gadllah <adel.gadllah@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: fix warning: unused variable ifsta
Tomas Winkler [Tue, 1 Jul 2008 07:44:50 +0000 (10:44 +0300)]
mac80211: fix warning: unused variable ifsta

This patch fixes warning unused variable ifsta
when compiling without CONFIG_MAC80211_VERBOSE_DEBUG

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: request Tx of block ack request if necessary
Ron Rindjunsky [Tue, 1 Jul 2008 07:44:51 +0000 (10:44 +0300)]
iwlwifi: request Tx of block ack request if necessary

This patch sets the block ack request flag if needed

Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: remove useless tid assignment for management and control frames
Tomas Winkler [Tue, 1 Jul 2008 11:29:20 +0000 (14:29 +0300)]
mac80211: remove useless tid assignment for management and control frames

This patch removes useless tid assignment for management and control frames

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: add block ack request capability
Ron Rindjunsky [Tue, 1 Jul 2008 11:16:03 +0000 (14:16 +0300)]
mac80211: add block ack request capability

This patch adds block ack request capability

Signed-off-by: Ester Kummer <ester.kummer@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: Don't request encryption for probe response
Ivo van Doorn [Tue, 1 Jul 2008 08:45:13 +0000 (10:45 +0200)]
mac80211: Don't request encryption for probe response

Probe responses shouldn't be encrypted, and mac80211 doesn't
set the crypto key accordingly. However it didn't set the
IEEE80211_TX_CTL_DO_NOT_ENCRYPT flag which means drivers
could make an attempt to encrypt it, and causing a NULL
pointer dereference when accessing the provided hw_key field.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: fix error path of iwl_rfkill_init
Tomas Winkler [Tue, 1 Jul 2008 07:44:48 +0000 (10:44 +0300)]
iwlwifi: fix error path of iwl_rfkill_init

This patch cleans rfkill error path. The problem was result of removing
the input device

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agovlan: TCI related type and naming cleanups
Patrick McHardy [Tue, 8 Jul 2008 10:24:44 +0000 (03:24 -0700)]
vlan: TCI related type and naming cleanups

The VLAN code contains multiple spots that use tag, id and tci as
identifiers for arguments and variables incorrectly and they actually
contain or are expected to contain something different. Additionally
types are used inconsistently (unsigned short vs u16) and identifiers
are sometimes capitalized.

- consistently use u16 for storing TCI, ID or QoS values
- consistently use vlan_id and vlan_tci for storing the respective values
- remove capitalization
- add kdoc comment to netif_hwaccel_{rx,receive_skb}

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agovlan: remove useless struct hlist_node declaration from if_vlan.h
Patrick McHardy [Tue, 8 Jul 2008 10:24:14 +0000 (03:24 -0700)]
vlan: remove useless struct hlist_node declaration from if_vlan.h

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agovlan: move struct vlan_dev_info to private header
Patrick McHardy [Tue, 8 Jul 2008 10:23:57 +0000 (03:23 -0700)]
vlan: move struct vlan_dev_info to private header

Hide struct vlan_dev_info from drivers to prevent them from growing
more creative ways to use it. Provide accessors for the two drivers
that currently use it.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agovlan: uninline __vlan_hwaccel_rx
Patrick McHardy [Tue, 8 Jul 2008 10:23:36 +0000 (03:23 -0700)]
vlan: uninline __vlan_hwaccel_rx

The function is huge and included at least once in every VLAN acceleration
capable driver. Uninline it; to avoid having drivers depend on the VLAN
module, the function is always built in statically when VLAN is enabled.

With all VLAN acceleration capable drivers that build on x86_64 enabled,
this results in:

   text    data     bss     dec     hex filename
6515227  854044  343968 7713239  75b1d7 vmlinux.inlined
6505637  854044  343968 7703649  758c61 vmlinux.uninlined
----------------------------------------------------------
  -9590

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agovlan: Add ethtool support
Patrick McHardy [Tue, 8 Jul 2008 10:22:42 +0000 (03:22 -0700)]
vlan: Add ethtool support

Add ethtool support for querying the device for offload settings.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agovlan: Use is_vlan_dev()
Joonwoo Park [Tue, 8 Jul 2008 10:22:16 +0000 (03:22 -0700)]
vlan: Use is_vlan_dev()

Use simplified is_vlan_dev function.

Signed-off-by: Joonwoo Park <joonwpark81@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agovlan: fix network_header/mac_header adjustments
Patrick McHardy [Tue, 8 Jul 2008 10:21:27 +0000 (03:21 -0700)]
vlan: fix network_header/mac_header adjustments

Lennert Buytenhek points out that the VLAN code incorrectly adjusts
skb->network_header to point in the middle of the VLAN header and
additionally tries to adjust skb->mac_header without checking for
validity.

The network_header should not be touched at all since we're only
adding headers in front of it, mac_header adjustments are not
necessary at all.

Based on patch by Lennert Buytenhek <buytenh@wantstofly.org>.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoirda: Remove useless pm_dev references
Rafael J. Wysocki [Tue, 8 Jul 2008 10:08:16 +0000 (03:08 -0700)]
irda: Remove useless pm_dev references

Some IRDA headers contain references to 'struct pm_dev' that are not
necessary any more and may be removed.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Samuel Ortiz <samuel@sortiz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoirda: Fix netlink error path return value
Julius Volz [Tue, 8 Jul 2008 10:07:43 +0000 (03:07 -0700)]
irda: Fix netlink error path return value

Fix an incorrect return value check of genlmsg_put() in irda_nl_get_mode().
genlmsg_put() does not use ERR_PTR() to encode return values, it just
returns NULL on error.

Signed-off-by: Julius Volz <juliusv@google.com>
Signed-off-by: Samuel Ortiz <samuel@sortiz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoirda: New device ID for nsc-ircc
Ville Syrjala [Tue, 8 Jul 2008 10:07:16 +0000 (03:07 -0700)]
irda: New device ID for nsc-ircc

HP OmniBook 500's DSDT code changes the HID of the FIR device from
NSC6001 to HWPC224 when run under an "NT" operating system. Add the
new ID to the pnp device id table.

Signed-off-by: Ville Syrjala <syrjala@sci.fi>
Signed-off-by: Samuel Ortiz <samuel@sortiz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoirda: via-ircc proper dma freeing
Wang Chen [Tue, 8 Jul 2008 10:06:46 +0000 (03:06 -0700)]
irda: via-ircc proper dma freeing

1. dma should be freed when dma2 request fail.
2. dma2 should be freed too when device close.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: Samuel Ortiz <samuel@sortiz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoipv4: remove flush_mutex from ipv4_sysctl_rtcache_flush
Denis V. Lunev [Tue, 8 Jul 2008 10:05:28 +0000 (03:05 -0700)]
ipv4: remove flush_mutex from ipv4_sysctl_rtcache_flush

It is possible to avoid locking at all in ipv4_sysctl_rtcache_flush by
defining local ctl_table on the stack.

The patch is based on the suggestion from Eric W. Biederman.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet: remove padding from struct socket on 64bit & increase objects/cache
Richard Kennedy [Tue, 8 Jul 2008 10:03:01 +0000 (03:03 -0700)]
net: remove padding from struct socket on 64bit & increase objects/cache

remove padding from struct socket reducing its size by 8 bytes.

This allows more objects/cache in sock_inode_cache
12 objects/cache when cacheline size is 128 (generic x86_64)

Signed-off-by: Richard Kennedy <richard@rsk.demon.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetfilter: fix string extension for case insensitive pattern matching
Joonwoo Park [Tue, 8 Jul 2008 09:38:56 +0000 (02:38 -0700)]
netfilter: fix string extension for case insensitive pattern matching

The flag XT_STRING_FLAG_IGNORECASE indicates case insensitive string
matching. netfilter can find cmd.exe, Cmd.exe, cMd.exe and etc easily.

A new revision 1 was added, in the meantime invert of xt_string_info
was moved into flags as a flag. If revision is 1, The flag
XT_STRING_FLAG_INVERT indicates invert matching.

Signed-off-by: Joonwoo Park <joonwpark81@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotextsearch: convert kmalloc + memset to kzalloc
Joonwoo Park [Tue, 8 Jul 2008 09:38:40 +0000 (02:38 -0700)]
textsearch: convert kmalloc + memset to kzalloc

convert kmalloc + memset to kzalloc for alloc_ts_config

Signed-off-by: Joonwoo Park <joonwpark81@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotextsearch: ts_fsm: return error on request for case insensitive search
Joonwoo Park [Tue, 8 Jul 2008 09:38:27 +0000 (02:38 -0700)]
textsearch: ts_fsm: return error on request for case insensitive search

For fsm text search, handle case insensitive parameter as -EINVAL.

Signed-off-by: Joonwoo Park <joonwpark81@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotextsearch: ts_kmp: support case insensitive searching in Knuth-Morris-Pratt algorithm
Joonwoo Park [Tue, 8 Jul 2008 09:38:09 +0000 (02:38 -0700)]
textsearch: ts_kmp: support case insensitive searching in Knuth-Morris-Pratt algorithm

Add support for case insensitive search to Knuth-Morris-Pratt algorithm.

Signed-off-by: Joonwoo Park <joonwpark81@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotextsearch: ts_bm: support case insensitive searching in Boyer-Moore algorithm
Joonwoo Park [Tue, 8 Jul 2008 09:37:54 +0000 (02:37 -0700)]
textsearch: ts_bm: support case insensitive searching in Boyer-Moore algorithm

Add support for case insensitive search to Boyer-Moore algorithm.

Signed-off-by: Joonwoo Park <joonwpark81@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotextsearch: support for case insensitive searching
Joonwoo Park [Tue, 8 Jul 2008 09:37:31 +0000 (02:37 -0700)]
textsearch: support for case insensitive searching

The function textsearch_prepare has a new flag to support case
insensitive searching.

Signed-off-by: Joonwoo Park <joonwpark81@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetfilter: ebt_nflog: fix Kconfig typo
Patrick McHardy [Tue, 8 Jul 2008 09:37:07 +0000 (02:37 -0700)]
netfilter: ebt_nflog: fix Kconfig typo

The help text should refer to nflog instead of ulog. Noticed by
Krzysztof Halasa <khc@pm.waw.pl>.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetfilter: cleanup netfilter_ipv6.h userspace header
Adrian Bunk [Tue, 8 Jul 2008 09:36:40 +0000 (02:36 -0700)]
netfilter: cleanup netfilter_ipv6.h userspace header

Kernel functions are not for userspace.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetfilter: ip6table_filter in netns for real
Alexey Dobriyan [Tue, 8 Jul 2008 09:36:18 +0000 (02:36 -0700)]
netfilter: ip6table_filter in netns for real

One still needs to remove checks in nf_hook_slow() and nf_sockopt_find()
to test this, though.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetfilter: nf_conntrack: add allocation flag to nf_conntrack_alloc
Pablo Neira Ayuso [Tue, 8 Jul 2008 09:35:55 +0000 (02:35 -0700)]
netfilter: nf_conntrack: add allocation flag to nf_conntrack_alloc

ctnetlink does not need to allocate the conntrack entries with GFP_ATOMIC
as its code is executed in user context.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetfilter: Get rid of refrences to no longer existant Fast NAT.
Russ Dill [Tue, 8 Jul 2008 09:35:27 +0000 (02:35 -0700)]
netfilter: Get rid of refrences to no longer existant Fast NAT.

Get rid of refrences to no longer existant Fast NAT.

IP_ROUTE_NAT support was removed in August of 2004, but references to Fast
NAT were left in a couple of config options.

Signed-off-by: Russ Dill <Russ.Dill@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetfilter: use correct namespace in ip6table_security
Alexey Dobriyan [Tue, 8 Jul 2008 09:34:52 +0000 (02:34 -0700)]
netfilter: use correct namespace in ip6table_security

Signed-off-by: Alexey Dobriyan <adobriyan@parallels.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosctp: Mark the tsn as received after all allocations finish
Vlad Yasevich [Tue, 8 Jul 2008 09:28:39 +0000 (02:28 -0700)]
sctp: Mark the tsn as received after all allocations finish

If we don't have the buffer space or memory allocations fail,
the data chunk is dropped, but TSN is still reported as received.
This introduced a data loss that can't be recovered.  We should
only mark TSNs are received after memory allocations finish.
The one exception is the invalid stream identifier, but that's
due to user error and is reported back to the user.

This was noticed by Michael Tuexen.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoamd8111e: delete non NAPI code from the driver.
Francois Romieu [Mon, 7 Jul 2008 03:55:12 +0000 (20:55 -0700)]
amd8111e: delete non NAPI code from the driver.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agostarfire: delete non NAPI code from the driver.
Francois Romieu [Mon, 7 Jul 2008 03:54:45 +0000 (20:54 -0700)]
starfire: delete non NAPI code from the driver.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetdev: remove unused S2IO_NAPI
Francois Romieu [Mon, 7 Jul 2008 03:50:16 +0000 (20:50 -0700)]
netdev: remove unused S2IO_NAPI

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agomac80211: don't report selected IBSS when not found
Vladimir Koutny [Mon, 7 Jul 2008 12:23:01 +0000 (14:23 +0200)]
mac80211: don't report selected IBSS when not found

Don't report a 'selected' IBSS in sta_find_ibss when none was found.

Signed-off-by: Vladimir Koutny <vlado@ksp.sk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agossb-pcicore: Fix IRQ-vector init on embedded devices
Michael Buesch [Fri, 4 Jul 2008 21:44:37 +0000 (23:44 +0200)]
ssb-pcicore: Fix IRQ-vector init on embedded devices

On embedded devices we must not route the interrupts through
the PCI core, if our host-bus is not PCI.

Reported-by: Steve Brown <sbrown@cortland.com>
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agozd1211rw: add ID for AirTies WUS-201
Firat Birlik [Fri, 4 Jul 2008 03:31:50 +0000 (04:31 +0100)]
zd1211rw: add ID for AirTies WUS-201

I would like to inform you of our zd1211 based usb wifi adapter (AirTies
WUS-201), which works with the zd1211rw driver with the following device
id definition.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: Only flush workqueue when last interface was removed
Ivo van Doorn [Thu, 3 Jul 2008 17:02:44 +0000 (19:02 +0200)]
mac80211: Only flush workqueue when last interface was removed

Currently the ieee80211_hw->workqueue is flushed each time
an interface is being removed. However most scheduled work
is not interface specific but device specific, for example things like
periodic work for link tuners.

This patch will move the flush_workqueue() call to directly behind
the call to ops->stop() to make sure the workqueue is only flushed
when all interfaces are gone and there really shouldn't be any scheduled
work in the drivers left.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: move netif_carrier_on to after ieee80211_bss_info_change_notify
Guy Cohen [Thu, 3 Jul 2008 16:56:13 +0000 (19:56 +0300)]
mac80211: move netif_carrier_on to after ieee80211_bss_info_change_notify

Putting netif_carrier_on before configuring the driver/device with the
new association state may cause a race (tx frames may be sent before
configuration is done)

Signed-off-by: Guy Cohen <guy.cohen@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agodrivers/net/wireless/iwlwifi/iwl-3945.c Fix type issue on 64bit
Darren Jenkins [Wed, 2 Jul 2008 23:41:38 +0000 (09:41 +1000)]
drivers/net/wireless/iwlwifi/iwl-3945.c Fix type issue on 64bit

Coverity CID: 2265 NEGATIVE_RETURNS

"rate" is of an unsigned type, and the code requires a signed type.
The following patch makes it so.

Signed-off-by: Darren Jenkins <darrenrjenkins@gmailcom>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agohostap_cs: correct poor NULL checks in suspend/resume routines
John W. Linville [Wed, 2 Jul 2008 15:04:24 +0000 (11:04 -0400)]
hostap_cs: correct poor NULL checks in suspend/resume routines

This corrects this kernel.org bug:

http://bugzilla.kernel.org/show_bug.cgi?id=9701

Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agonetdrv: don't truncate VLAN TCI with VLAN stripping
Patrick McHardy [Mon, 7 Jul 2008 03:48:41 +0000 (20:48 -0700)]
netdrv: don't truncate VLAN TCI with VLAN stripping

The vlan_hwaccel_{rx,receive_skb} functions expect the full TCI field
for priority mappings, don't truncate the upper 4 bits.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet: fix dev_set_promiscuity() breakage
Patrick McHardy [Sun, 6 Jul 2008 22:49:08 +0000 (15:49 -0700)]
net: fix dev_set_promiscuity() breakage

Commit dad9b335 (netdevice: Fix promiscuity and allmulti overflow) broke
dev_set_promiscuity() by returning on success without reprogramming the
device.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet-sched: consolidate default fifo qdisc setup
Patrick McHardy [Sun, 6 Jul 2008 06:40:21 +0000 (23:40 -0700)]
net-sched: consolidate default fifo qdisc setup

Signed-off-by: Patrick McHardy <kaber@trash.net>
Acked-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agocan: add sanity checks
Oliver Hartkopp [Sun, 6 Jul 2008 06:38:43 +0000 (23:38 -0700)]
can: add sanity checks

Even though the CAN netlayer only deals with CAN netdevices, the
netlayer interface to the userspace and to the device layer should
perform some sanity checks.

This patch adds several sanity checks that mainly prevent userspace apps
to send broken content into the system that may be misinterpreted by
some other userspace application.

Signed-off-by: Oliver Hartkopp <oliver.hartkopp@volkswagen.de>
Signed-off-by: Urs Thuermann <urs.thuermann@volkswagen.de>
Acked-by: Andre Naujoks <nautsch@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet-sched: sch_htb: remove write-only qdisc filter_cnt
Patrick McHardy [Sun, 6 Jul 2008 06:23:27 +0000 (23:23 -0700)]
net-sched: sch_htb: remove write-only qdisc filter_cnt

The filter_cnt is supposed to count filter references to a class.
Since the qdisc can't be the target of a filter, it doesn't need
a filter_cnt. In fact the counter is never decreased since cls_api
considers a return value of zero a failure and doesn't unbind again.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet-sched: sch_htb: remove child and sibling lists
Patrick McHardy [Sun, 6 Jul 2008 06:22:53 +0000 (23:22 -0700)]
net-sched: sch_htb: remove child and sibling lists

Now that the qdisc isn't destroyed in hierarchical order anymore,
the only user of the child lists left is htb_parent_last_child().
This can be easily changed to use a counter of children to save
a few bytes.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet-sched: sch_htb: use dynamic class hash helpers
Patrick McHardy [Sun, 6 Jul 2008 06:22:35 +0000 (23:22 -0700)]
net-sched: sch_htb: use dynamic class hash helpers

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet-sched: sch_htb: move hash and sibling list removal to htb_delete
Patrick McHardy [Sun, 6 Jul 2008 06:22:19 +0000 (23:22 -0700)]
net-sched: sch_htb: move hash and sibling list removal to htb_delete

Hash list removal currently happens twice (once in htb_delete, once
in htb_destroy_class), which makes it harder to use the dynamically
sized class hash without adding special cases for HTB. The reason is
that qdisc destruction destroys classes in hierarchical order, which
is not necessary if filters are destroyed in a separate iteration
during qdisc destruction.

Adjust qdisc destruction to follow the same scheme as other hierarchical
qdiscs by first performing a filter destruction pass, then destroying
all classes in hash order.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>