27 Dec, 2010

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (42 commits)
    ipv4: dont create routes on down devices
    epic100: hamachi: yellowfin: Fix skb allocation size
    sundance: Fix oopses with corrupted skb_shared_info
    Revert "ipv4: Allow configuring subnets as local addresses"
    USB: mcs7830: return negative if auto negotiate fails
    irda: prevent integer underflow in IRLMP_ENUMDEVICES
    tcp: fix listening_get_next()
    atl1c: Do not use legacy PCI power management
    mac80211: fix mesh forwarding
    MAINTAINERS: email address change
    net: Fix range checks in tcf_valid_offset().
    net_sched: sch_sfq: fix allot handling
    hostap: remove netif_stop_queue from init
    mac80211/rt2x00: add ieee80211_tx_status_ni()
    typhoon: memory corruption in typhoon_get_drvinfo()
    net: Add USB PID for new MOSCHIP USB ethernet controller MCS7832 variant
    net_sched: always clone skbs
    ipv6: Fragment locally generated tunnel-mode IPSec6 packets as needed.
    netlink: fix gcc -Wconversion compilation warning
    asix: add USB ID for Logitec LAN-GTJ U2A
    ...

    Linus Torvalds
     

26 Dec, 2010

2 commits

  • Joel Soete reported oopses during pppoe over sundance NIC, caused by
    a bug in skb allocation and dma mapping code, where skb_reserve()
    bytes weren't taken into account. As a followup to the patch:
    "sundance: Fix oopses with corrupted skb_shared_info" very similar
    code is fixed here for three other drivers.

    Signed-off-by: Jarek Poplawski
    Cc: Joel Soete
    Cc: Eric Dumazet
    Signed-off-by: David S. Miller

    Jarek Poplawski
     
  • Joel Soete reported oopses at the beginning of pppoe connections since
    v2.6.35. After debugging the bug was found in sundance skb allocation
    and dma mapping code, where skb_reserve() bytes aren't taken into
    account. This is an old bug, only uncovered by some change in 2.6.35.

    Initial debugging patch by: Eric Dumazet

    Reported-by: Joel Soete
    Tested-by: Joel Soete
    Signed-off-by: Jarek Poplawski
    Cc: Eric Dumazet
    Signed-off-by: David S. Miller

    Jarek Poplawski
     

24 Dec, 2010

1 commit


23 Dec, 2010

2 commits


21 Dec, 2010

4 commits

  • Fix runtime warning with backtrace from hostap by removing
    netif_stop_queue() call before register_netdev. Tested to work fine on
    hostap_pci Prism 2.5.

    (This removes a warning about calling netif_stop_queue before
    register_netdev is called. -- JWL)

    Signed-off-by: Meelis Roos
    Acked-by: David S. Miller
    Signed-off-by: John W. Linville

    Meelis Roos
     
  • All rt2x00 drivers except rt2800pci call ieee80211_tx_status() from
    a workqueue, which causes "NOHZ: local_softirq_pending 08" messages.

    To fix it, add ieee80211_tx_status_ni() similar to ieee80211_rx_ni()
    which can be called from process context, and call it from
    rt2x00lib_txdone(). For the rt2800pci special case a driver
    flag is introduced.

    https://bugzilla.kernel.org/show_bug.cgi?id=24892

    Signed-off-by: Johannes Stezenbach
    Signed-off-by: John W. Linville

    Johannes Stezenbach
     
  • info->version only has space for 32 characters but my UTS_RELEASE is
    "2.6.37-rc6-next-20101217-05817-ge935fc8-dirty" so it doesn't fit.
    This is supposed to be the version of the driver, not the kernel
    version. This driver doesn't have a version so lets just leave it
    blank.

    Signed-off-by: Dan Carpenter
    Signed-off-by: David S. Miller

    Dan Carpenter
     
  • Due to active notification of the new MCS7832 version by the manufacturer
    (Mr. Milton; thanks!) -- quote: "functionality same as MCS7830",
    I'm now submitting this patch (on -rc6), intended for networking.git and -stable.

    - add MCS7832 USB PID to be able to support this new device variant, too
    - add related descriptions

    Signed-off-by: Andreas Mohr
    Signed-off-by: David S. Miller

    Andreas Mohr
     

18 Dec, 2010

2 commits


17 Dec, 2010

7 commits

  • We can't change ip_summed from CHECKSUM_PARTIAL to CHECKSUM_NONE
    or CHECKSUM_UNNECESSARY because checksum in packet's headers is
    not valid and will cause invalid checksum when frame is forwarded.

    Signed-off-by: Michał Mirosław
    Signed-off-by: David S. Miller

    Michał Mirosław
     
  • Since the mbox polling uses the schedule_timeout, the mbox_lock should be
    a mutex and not a spin lock.
    The commit f25b03a replaced udelay() with schedule_timeout() but didn't
    change mbox_lock to semaphore or mutex.

    Signed-off-by: Ivan Vecera
    Signed-off-by: David S. Miller

    Ivan Vecera
     
  • bond_na_send() attempts to insert a VLAN tag in between building and
    sending packets of the respective formats. If the slave does not
    implement hardware VLAN tag insertion then vlan_put_tag() will mangle
    the network-layer header because the Ethernet header is not present at
    this point (unlike in bond_arp_send()).

    Fix this by adding the tag out-of-line and relying on
    dev_hard_start_xmit() to insert it inline if necessary.

    Signed-off-by: Ben Hutchings
    Signed-off-by: Jay Vosburgh
    Reviewed-by: Jesse Gross
    Signed-off-by: David S. Miller

    Ben Hutchings
     
  • bond_change_active_slave() may be called when a slave is added, even
    if the bond has not been brought up yet. It may then attempt to send
    packets, and further it may use mcast_work which is uninitialised
    before the bond is brought up. Add the necessary checks for
    netif_running(bond->dev).

    Signed-off-by: Ben Hutchings
    Signed-off-by: Jay Vosburgh
    Signed-off-by: David S. Miller

    Ben Hutchings
     
  • A bond may have a mixture of slave devices with and without hardware
    VLAN tag insertion capability. Therefore it always claims this
    capability and performs software VLAN tag insertion if the slave does
    not.

    Since commit 7b9c60903714bf0a19d746b228864bad3497284e, this has
    also been done by dev_hard_start_xmit(). The result is that VLAN-
    tagged skbs are now double-tagged when transmitted through slave
    devices without hardware VLAN tag insertion!

    Remove the now-redundant logic from bond_dev_queue_xmit().

    Signed-off-by: Ben Hutchings
    Signed-off-by: Jay Vosburgh
    Reviewed-by: Jesse Gross
    Signed-off-by: David S. Miller

    Ben Hutchings
     
  • axnet_cs:
    Accton EN2328 or compatible (id: 0x01bf, 0x2328) uses Asix chip.
    So it works better with axnet_cs instead of pcnet_cs.

    Signed-off-by: Ken Kawasaki
    Signed-off-by: David S. Miller

    Ken Kawasaki
     
  • The returned slave is incorrect, if the net device under check is not
    charged yet by the master.

    Signed-off-by: Hillf Danton
    Signed-off-by: David S. Miller

    Hillf Danton
     

16 Dec, 2010

2 commits


15 Dec, 2010

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (75 commits)
    pppoe.c: Fix kernel panic caused by __pppoe_xmit
    WAN: Fix a TX IRQ causing BUG() in PC300 and PCI200SYN drivers.
    bnx2x: Advance a version number to 1.60.01-0
    bnx2x: Fixed a compilation warning
    bnx2x: LSO code was broken on BE platforms
    qlge: Fix deadlock when cancelling worker.
    net: fix skb_defer_rx_timestamp()
    cxgb4vf: Ingress Queue Entry Size needs to be 64 bytes
    phy: add the IC+ IP1001 driver
    atm: correct sysfs 'device' link creation and parent relationships
    MAINTAINERS: remove me from tulip
    SCTP: Fix SCTP_SET_PEER_PRIMARY_ADDR to accpet v4mapped address
    enic: Bug Fix: Pass napi reference to the isr that services receive queue
    ipv6: fix nl group when advertising a new link
    connector: add module alias
    net: Document the kernel_recvmsg() function
    r8169: Fix runtime power management
    hso: IP checksuming doesn't work on GE0301 option cards
    xfrm: Fix xfrm_state_migrate leak
    net: Convert netpoll blocking api in bonding driver to be a counter
    ...

    Linus Torvalds
     
  • This USB ID is for the WUBI-100GW 802.11g Wireless LAN USB Device that
    uses p54usb.

    Signed-off-by: Larry Finger
    Signed-off-by: Eduardo Costa
    Cc: Stable
    Signed-off-by: John W. Linville

    Eduardo Costa
     

14 Dec, 2010

2 commits

  • This patch adds five more USBIDs to the table.

    Source:
    http://www.linuxant.com/pipermail/driverloader/2005q3/002307.html
    http://wireless.kernel.org/en/users/Drivers/p54/devices (by M. Davis)

    Cc:
    Signed-off-by: Christian Lamparter
    Signed-off-by: John W. Linville

    Christian Lamparter
     
  • The code wants to check if there's a channel and it is not disabled,
    but it used to check if channel is not NULL and accessed the channel
    struct if this check failed.

    Signed-off-by: Sven Neumann
    Acked-by: Dan Williams
    Signed-off-by: John W. Linville

    Sven Neumann
     

13 Dec, 2010

6 commits

  • __pppoe_xmit function return value was invalid resulting in
    additional call to kfree_skb on already freed skb. This resulted in
    memory corruption and consequent kernel panic after PPPoE peer
    terminated the link.

    This fixes commit 55c95e738da85373965cb03b4f975d0fd559865b.

    Reported-by: Gorik Van Steenberge
    Reported-by: Daniel Kenzelmann
    Reported-by: Denys Fedoryshchenko
    Reported-by: Pawel Staszewski
    Diagnosed-by: Andrej Ota
    Diagnosed-by: Eric Dumazet
    Tested-by: Denys Fedoryshchenko
    Tested-by: Pawel Staszewski
    Signed-off-by: Jarek Poplawski
    Signed-off-by: Andrej Ota
    Signed-off-by: David S. Miller

    Andrej Ota
     
  • We must not wake the TX queue without free TX descriptors.
    sca_xmit() expects at least one free descriptor and BUGs otherwise.

    Problem reported and fix tested by Bernie Innocenti and Ward Vandewege.

    Signed-off-by: Krzysztof Hałasa
    Signed-off-by: David S. Miller

    Krzysztof Halasa
     
  • Signed-off-by: Vladislav Zolotarov
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Vladislav Zolotarov
     
  • bnx2x_src_init_t2() is used only when BCM_CNIC is defined.
    So, to avoid a compilation warning, we won't define it unless
    BCM_CNIC is defined.

    Signed-off-by: Vladislav Zolotarov
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Vladislav Zolotarov
     
  • Make the LSO code work on BE platforms: parsing_data field of
    a parsing BD (PBD) for 57712 was improperly composed which made FW read wrong
    values for TCP header's length and offset and, as a result, the corresponding
    PCI device was performing bad DMA reads triggering EEH.

    Signed-off-by: Vladislav Zolotarov
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Vladislav Zolotarov
     
  • Removing usage of rtnl_lock() to protect firmware interface registers.
    These registers are accessed in some worker threads and can create a
    deadlock if rtnl_lock is taken by upper layers while the worker is still
    pending.
    We remove rtnl_lock and use a driver mutex just while mailboxes are
    accessed.

    Signed-off-by: Ron Mercer
    Signed-off-by: David S. Miller

    Ron Mercer
     

11 Dec, 2010

5 commits


10 Dec, 2010

4 commits

  • There is definitly a problem, that some option cards send up broken
    IP pakets leading to corrupted IP packets. These corruptions aren't
    detected, because the driver claims that the packets are already
    checksummed. This change removes the CHECKSUM_UNNECESSARY option
    and let IP detect broken data.

    Signed-off-by: Thomas Bogendoerfer
    Signed-off-by: David S. Miller

    Thomas Bogendoerfer
     
  • A while back I made some changes to enable netpoll in the bonding driver. Among
    them was a per-cpu flag that indicated we were in a path that held locks which
    could cause the netpoll path to block in during tx, and as such the tx path
    should queue the frame for later use. This appears to have given rise to a
    regression. If one of those paths on which we hold the per-cpu flag yields the
    cpu, its possible for us to come back on a different cpu, leading to us clearing
    a different flag than we set. This results in odd netpoll drops, and BUG
    backtraces appearing in the log, as we check to make sure that we only clear set
    bits, and only set clear bits. I had though briefly about changing the
    offending paths so that they wouldn't sleep, but looking at my origional work
    more closely, it doesn't appear that a per-cpu flag is warranted. We alrady
    gate the checking of this flag on IFF_IN_NETPOLL, so we don't hit this in the
    normal tx case anyway. And practically speaking, the normal use case for
    netpoll is to only have one client anyway, so we're not going to erroneously
    queue netpoll frames when its actually safe to do so. As such, lets just
    convert that per-cpu flag to an atomic counter. It fixes the rescheduling bugs,
    is equivalent from a performance perspective and actually eliminates some code
    in the process.

    Tested by the reporter and myself, successfully

    Reported-by: Liang Zheng
    CC: Jay Vosburgh
    CC: Andy Gospodarek
    CC: David S. Miller
    Signed-off-by: Neil Horman
    Signed-off-by: David S. Miller

    Neil Horman
     
  • From: Johannes Berg

    The current EEPROM reading code has some layout
    assumptions that now turned out to be false with
    some newer versions of the EEPROM. Luckily, we
    can avoid all such assumptions by using data in
    the EEPROM itself, so implement using that.

    However, for risk mitigation purposes, keep the
    old reading code for current hardware for now.

    Signed-off-by: Johannes Berg
    Signed-off-by: Wey-Yi Guy

    Wey-Yi Guy
     
  • Some fields we didn't previously use from the
    enhanced TX power structure will be needed in
    the next patch, so rename them to their correct
    names to be able to use them and change code
    reading them accordingly.

    Signed-off-by: Johannes Berg
    Signed-off-by: Wey-Yi Guy

    Johannes Berg