28 Feb, 2010

3 commits

  • This patch adds the pci_vpd_find_tag() helper function to find VPD
    resource data types in a buffer.

    Signed-off-by: Matt Carlson
    Signed-off-by: Michael Chan
    Acked-by: Jesse Barnes
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • This patch introduces more VPD preprocessor definitions to identify some
    small and large resource data type item names. The patch then continues
    to correct how the tg3 and bnx2 drivers search for the "read-only data"
    large resource data type.

    Signed-off-by: Matt Carlson
    Signed-off-by: Michael Chan
    Acked-by: Jesse Barnes
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • This patch adds a preprocessor constant to describe the PCI VPD large
    resource data type tag size and an inline function to extract the large
    resource section size from the large resource data type tag.

    Signed-off-by: Matt Carlson
    Signed-off-by: Michael Chan
    Acked-by: Jesse Barnes
    Signed-off-by: David S. Miller

    Matt Carlson
     

27 Feb, 2010

25 commits

  • Move TC_PRIO_CONTROL check and queue remapping into
    ixgbe_select_queue(). Remapping queues after the qdisc
    can result in the wrong qdisc queue being stopped with
    netif_stop_subqueue(). Even if this is resolved and the
    correct queue is stopped it can result in a queue being
    blocked by TC_PRIO_CONTROL frames uneccesarily. Moving
    this into the select_queue routine maintains alignment
    between tx_rings and qdisc queues.

    Signed-off-by: John Fastabend
    Acked-by: Peter P Waskiewicz Jr
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    John Fastabend
     
  • The alignment requirement for 64-bit load/store instructions on ARM is
    implementation defined. Some CPUs (such as Marvell Feroceon) do not
    generate an exception, if such an instruction is executed with an
    address that is not 64 bit aligned. In such a case, the Feroceon
    corrupts adjacent memory, which showed up in my tests as a crash in the
    rx path of ath9k that only occured with CONFIG_XFRM set.

    This crash happened, because the first field of the mac80211 rx status
    info in the cb is an u64, and changing it corrupted the skb->sp field.

    This patch also closes some potential pre-existing holes in the sk_buff
    struct surrounding the cb[] area.

    Signed-off-by: Felix Fietkau
    Cc: stable@kernel.org
    Signed-off-by: David S. Miller

    Felix Fietkau
     
  • When the register_netdevice() call fails, the newly allocated device is
    not freed.

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     
  • commit e8469ed959c373c2ff9e6f488aa5a14971aebe1f
    Author: Patrick McHardy
    Date: Tue Feb 23 20:41:30 2010 +0100

    Support specifying the initial device flags when creating a device though
    rtnl_link. Devices allocated by rtnl_create_link() are marked as INITIALIZING
    in order to surpress netlink registration notifications. To complete setup,
    rtnl_configure_link() must be called, which performs the device flag changes
    and invokes the deferred notifiers if everything went well.

    Two examples:

    # add macvlan to eth0
    #
    $ ip link add link eth0 up allmulticast on type macvlan

    [LINK]11: macvlan0@eth0: mtu 1500 qdisc noqueue state UNKNOWN
    link/ether 26:f8:84:02:f9:2a brd ff:ff:ff:ff:ff:ff
    [ROUTE]ff00::/8 dev macvlan0 table local metric 256 mtu 1500 advmss 1440 hoplimit 0
    [ROUTE]fe80::/64 dev macvlan0 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 0
    [LINK]11: macvlan0@eth0: mtu 1500
    link/ether 26:f8:84:02:f9:2a
    [ADDR]11: macvlan0 inet6 fe80::24f8:84ff:fe02:f92a/64 scope link
    valid_lft forever preferred_lft forever
    [ROUTE]local fe80::24f8:84ff:fe02:f92a via :: dev lo table local proto none metric 0 mtu 16436 advmss 16376 hoplimit 0
    [ROUTE]default via fe80::215:e9ff:fef0:10f8 dev macvlan0 proto kernel metric 1024 mtu 1500 advmss 1440 hoplimit 0
    [NEIGH]fe80::215:e9ff:fef0:10f8 dev macvlan0 lladdr 00:15:e9:f0:10:f8 router STALE
    [ROUTE]2001:6f8:974::/64 dev macvlan0 proto kernel metric 256 expires 0sec mtu 1500 advmss 1440 hoplimit 0
    [PREFIX]prefix 2001:6f8:974::/64 dev macvlan0 onlink autoconf valid 14400 preferred 131084
    [ADDR]11: macvlan0 inet6 2001:6f8:974:0:24f8:84ff:fe02:f92a/64 scope global dynamic
    valid_lft 86399sec preferred_lft 14399sec

    # add VLAN to eth1, eth1 is down
    #
    $ ip link add link eth1 up type vlan id 1000
    RTNETLINK answers: Network is down

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     
  • Split dev_change_flags() into two functions: __dev_change_flags() to
    perform the actual changes and __dev_notify_flags() to invoke netdevice
    notifiers. This will be used by rtnl_link to defer netlink notifications
    until the device has been fully configured.

    This changes ordering of some operations, in particular:

    - netlink notifications are sent after all changes have been performed.
    As a side effect this surpresses one unnecessary netlink message when
    the IFF_UP and other flags are changed simultaneously.

    - The NETDEV_UP/NETDEV_DOWN and NETDEV_CHANGE notifiers are invoked
    after all changes have been performed. Their relative is unchanged.

    - net_dmaengine_put() is invoked before the NETDEV_DOWN notifier instead
    of afterwards. This should not make any difference since both RX and TX
    are already shut down at this point.

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     
  • In order to support specifying device flags during device creation,
    we must be able to roll back device registration in case setting the
    flags fails without sending any notifications related to the device
    to userspace.

    This patch changes rollback_registered_many() and register_netdevice()
    to manually send netlink notifications for devices not handled by
    rtnl_link and allows to defer notifications for devices handled by
    rtnl_link until setup is complete.

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     
  • Commit 3b8bcfd (net: introduce pre-up netdev notifier) added a new
    notifier which is run before a device is set UP for use by cfg80211.

    The patch missed to add the new notifier to the ignore list in
    rtnetlink_event(), so we currently get an unnecessary netlink
    notification before a device is set UP.

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     
  • MPC5121 FEC requeries 4-byte alignmnent for TX data buffers.
    This patch is a work around that copies misaligned tx packets
    to an aligned skb before sending.

    Signed-off-by: John Rigby
    Signed-off-by: Piotr Ziecik
    Signed-off-by: Wolfgang Denk
    Signed-off-by: Anatolij Gustschin
    Acked-by: Grant Likely
    Signed-off-by: David S. Miller

    Anatolij Gustschin
     
  • Extend the fs_enet driver to support MPC512x FEC.
    Enable it with CONFIG_FS_ENET_MPC5121_FEC option.

    Signed-off-by: John Rigby
    Signed-off-by: Piotr Ziecik
    Signed-off-by: Wolfgang Denk
    Signed-off-by: Anatolij Gustschin
    Acked-by: Grant Likely
    Signed-off-by: David S. Miller

    Anatolij Gustschin
     
  • Signed-off-by: Anatolij Gustschin
    Acked-by: Grant Likely
    Signed-off-by: David S. Miller

    Anatolij Gustschin
     
  • David S. Miller
     
  • This makes the b43 driver just automatically fall back to PIO mode when
    DMA doesn't work.

    The driver already told the user to do it, so rather than have the user
    reload the module with a new flag, just make the driver do it
    automatically. We keep the message as an indication that something is
    wrong, but now just automatically fall back to the hopefully working PIO
    case.

    (Some post-2.6.33 merge fixups by Larry Finger
    and yours truly... -- JWL)

    Signed-off-by: Linus Torvalds
    Signed-off-by: John W. Linville

    Linus Torvalds
     
  • If authentication has already been performed when the WLAN interface is
    stopped, (sometimes) the ieee80211_work_purge would corrupt some
    ieee80211_work-structures. The outcome is this (cleaned up):

    [ 2252.398681] WARNING: at net/mac80211/work.c:995 ieee80211_work_purge
    [ 2252.466430] Backtrace:
    [ 2252.529266] (ieee80211_work_purge+0x0/0xcc [mac80211])
    [ 2252.546875] (ieee80211_stop+0x0/0x4c0 [mac80211])

    Additionally, one would get this, going on regarless of the WLAN interface
    state, going on forever:

    [ 2252.859985] wlan0: direct probe to 00:90:4c:60:04:00 (try -996717525)
    [ 2253.055419] wlan0: direct probe to 00:90:4c:60:04:00 (try -996717524)
    [ 2253.250610] wlan0: direct probe to 00:90:4c:60:04:00 (try -996717523)
    [ 2253.446014] wlan0: direct probe to 00:90:4c:60:04:00 (try -996717522)
    [ 2253.641357] wlan0: direct probe to 00:90:4c:60:04:00 (try -996717521)

    Signed-off-by: Juuso Oikarinen
    Reviewed-by: Johannes Berg
    Signed-off-by: John W. Linville

    Juuso Oikarinen
     
  • In "wireless: remove WLAN_80211 and WLAN_PRE80211 from Kconfig" I
    inadvertantly missed a line in include/linux/netdevice.h. I thereby
    effectively reverted "net: Set LL_MAX_HEADER properly for wireless." by
    accident. :-( Now we should check there for CONFIG_WLAN instead.

    Signed-off-by: John W. Linville
    Reported-by: Christoph Egger
    Cc: stable@kernel.org

    John W. Linville
     
  • Currently if a driver does not set hw.max_listen_interval a listen
    interval of 1 is negotiated with the AP. Thus, the AP could drop
    buffered frames for us after just one beacon interval which can
    easily happen with the current powersave and scan implementation.
    To avoid this issue increase the default interval to 5 which should
    be a reasonable safe default.

    Signed-off-by: Helmut Schaa
    Signed-off-by: John W. Linville

    Helmut Schaa
     
  • While ath9k does not support RIFS yet, the ability to receive RIFS
    frames is currently enabled for most chipsets in the initvals.
    This is causing baseband related issues on AR9160 and AR9130 based
    chipsets, which can lock up under certain conditions.

    This patch fixes these issues by overriding the initvals, effectively
    disabling RIFS for all affected chipsets.

    Signed-off-by: Felix Fietkau
    Cc: stable@kernel.org
    Acked-by: Luis R. Rodriguez
    Signed-off-by: John W. Linville

    Felix Fietkau
     
  • I am no longer with Marvell.

    Signed-off-by: Lennert Buytenhek
    Signed-off-by: John W. Linville

    Lennert Buytenhek
     
  • …t/iwlwifi/iwlwifi-2.6

    John W. Linville
     
  • John W. Linville
     
  • Conflicts:
    drivers/net/wireless/iwlwifi/iwl-core.h
    net/mac80211/rate.c

    John W. Linville
     
  • The ISA skeleton net driver has been obsolete and unmaintained for many
    years. Any hardware remotely like ISA will use the platform API and
    look much more like a PCI driver, and make much better use of netdev
    APIs such as NAPI.

    Signed-off-by: Jeff Garzik
    Signed-off-by: David S. Miller

    Jeff Garzik
     
  • David S. Miller
     
  • Signed-off-by: Jan Engelhardt
    Signed-off-by: Patrick McHardy

    Jan Engelhardt
     
  • Quick fix for memory/module refcount leak.
    Reference count of listener instance never reaches 0.

    Start/stop of ulogd2 is enough to trigger this bug!

    Now, refcounting there looks very fishy in particular this code:

    if (!try_module_get(THIS_MODULE)) {
    ...

    and creation of listener instance with refcount 2,
    so it may very well be ripped and redone. :-)

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Patrick McHardy

    Alexey Dobriyan
     
  • Use list_head rather than a custom list implementation.

    Signed-off-by: Simon Horman
    Signed-off-by: Patrick McHardy

    Simon Horman
     

26 Feb, 2010

12 commits