22 Jan, 2011

1 commit


21 Jan, 2011

3 commits

  • In commit 44b8288308ac9d (net_sched: pfifo_head_drop problem), we fixed
    a problem with pfifo_head drops that incorrectly decreased
    sch->bstats.bytes and sch->bstats.packets

    Several qdiscs (CHOKe, SFQ, pfifo_head, ...) are able to drop a
    previously enqueued packet, and bstats cannot be changed, so
    bstats/rates are not accurate (over estimated)

    This patch changes the qdisc_bstats updates to be done at dequeue() time
    instead of enqueue() time. bstats counters no longer account for dropped
    frames, and rates are more correct, since enqueue() bursts dont have
    effect on dequeue() rate.

    Signed-off-by: Eric Dumazet
    Acked-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Recently reported oops:

    kernel BUG at net/core/skbuff.c:813!
    invalid opcode: 0000 [#1] SMP
    last sysfs file: /sys/devices/virtual/net/bond0/broadcast
    CPU 8
    Modules linked in: sit tunnel4 cpufreq_ondemand acpi_cpufreq freq_table bonding
    ipv6 dm_mirror dm_region_hash dm_log cdc_ether usbnet mii serio_raw i2c_i801
    i2c_core iTCO_wdt iTCO_vendor_support shpchp ioatdma i7core_edac edac_core bnx2
    ixgbe dca mdio sg ext4 mbcache jbd2 sd_mod crc_t10dif mptsas mptscsih mptbase
    scsi_transport_sas dm_mod [last unloaded: microcode]

    Modules linked in: sit tunnel4 cpufreq_ondemand acpi_cpufreq freq_table bonding
    ipv6 dm_mirror dm_region_hash dm_log cdc_ether usbnet mii serio_raw i2c_i801
    i2c_core iTCO_wdt iTCO_vendor_support shpchp ioatdma i7core_edac edac_core bnx2
    ixgbe dca mdio sg ext4 mbcache jbd2 sd_mod crc_t10dif mptsas mptscsih mptbase
    scsi_transport_sas dm_mod [last unloaded: microcode]
    Pid: 0, comm: swapper Not tainted 2.6.32-71.el6.x86_64 #1 BladeCenter HS22
    -[7870AC1]-
    RIP: 0010:[] []
    pskb_expand_head+0x36/0x1e0
    RSP: 0018:ffff880028303b70 EFLAGS: 00010202
    RAX: 0000000000000002 RBX: ffff880c6458ec80 RCX: 0000000000000020
    RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff880c6458ec80
    RBP: ffff880028303bc0 R08: ffffffff818a6180 R09: ffff880c6458ed64
    R10: ffff880c622b36c0 R11: 0000000000000400 R12: 0000000000000000
    R13: 0000000000000180 R14: ffff880c622b3000 R15: 0000000000000000
    FS: 0000000000000000(0000) GS:ffff880028300000(0000) knlGS:0000000000000000
    CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
    CR2: 00000038653452a4 CR3: 0000000001001000 CR4: 00000000000006e0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    Process swapper (pid: 0, threadinfo ffff8806649c2000, task ffff880c64f16ab0)
    Stack:
    ffff880028303bc0 ffffffff8104fff9 000000000000001c 0000000100000000
    ffff880000047d80 ffff880c6458ec80 000000000000001c ffff880c6223da00
    ffff880c622b3000 0000000000000000 ffff880028303c10 ffffffff81407f7a
    Call Trace:

    [] ? __wake_up_common+0x59/0x90
    [] __pskb_pull_tail+0x2aa/0x360
    [] bond_arp_rcv+0x2c0/0x2e0 [bonding]
    [] ? packet_rcv+0x377/0x440
    [] netif_receive_skb+0x2db/0x670
    [] napi_skb_finish+0x58/0x70
    [] napi_gro_receive+0x39/0x50
    [] ixgbe_clean_rx_irq+0x35b/0x900 [ixgbe]
    [] ixgbe_clean_rxtx_many+0x136/0x240 [ixgbe]
    [] net_rx_action+0x103/0x210
    [] __do_softirq+0xb7/0x1e0
    [] ? handle_IRQ_event+0x60/0x170
    [] call_softirq+0x1c/0x30
    [] do_softirq+0x65/0xa0
    [] irq_exit+0x85/0x90
    [] do_IRQ+0x75/0xf0
    [] ret_from_intr+0x0/0x11

    [] ? mwait_idle+0x71/0xd0
    [] ? atomic_notifier_call_chain+0x1a/0x20
    [] cpu_idle+0xb6/0x110
    [] start_secondary+0x1fc/0x23f

    Resulted from bonding driver registering packet handlers via dev_add_pack and
    then trying to call pskb_may_pull. If another packet handler (like for AF_PACKET
    sockets) gets called first, the delivered skb will have a user count > 1, which
    causes pskb_may_pull to BUG halt when it does its skb_shared check. Fix this by
    calling skb_share_check prior to the may_pull call sites in the bonding driver
    to clone the skb when needed. Tested by myself and the reported successfully.

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

    Neil Horman
     
  • Currently tools like ip and ifconfig report incorrect state for cxgb4
    interfaces that are up but do not have link and do so until first link
    establishment. This is because the initial netif_carrier_off call is
    before register_netdev and it needs to be after to be fully effective.
    Fix this by moving netif_carrier_off into .ndo_open.

    Signed-off-by: Dimitris Michailidis
    Signed-off-by: David S. Miller

    Dimitris Michailidis
     

20 Jan, 2011

3 commits

  • The option name of Delayed SACK Timer should be SCTP_DELAYED_SACK,
    not SCTP_DELAYED_ACK.

    Left SCTP_DELAYED_ACK be concomitant with SCTP_DELAYED_SACK,
    for making compatibility with existing applications.

    Reference:
    8.1.19. Get or Set Delayed SACK Timer (SCTP_DELAYED_SACK)
    (http://tools.ietf.org/html/draft-ietf-tsvwg-sctpsocket-25)

    Signed-off-by: Shan Wei
    Acked-by: Wei Yongjun
    Acked-by: Vlad Yasevich
    Signed-off-by: David S. Miller

    Shan Wei
     
  • commit 0363466866d901fbc (net offloading: Convert checksums to use
    centrally computed features.) mistakenly swapped can_checksum_protocol()
    arguments.

    This broke IPv6 on bnx2 for instance, on NIC without TCPv6 checksum
    offloads.

    Reported-by: Hans de Bruin
    Signed-off-by: Eric Dumazet
    Acked-by: Jesse Gross
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • This reverts commit 0ab03c2b1478f2438d2c80204f7fef65b1bca9cf.

    It breaks several things including the avahi daemon.

    Signed-off-by: David S. Miller

    David S. Miller
     

19 Jan, 2011

17 commits


18 Jan, 2011

3 commits

  • The power detector adc offset calibration has to be done
    on 4 minutes interval (longcal * pa_skip_count). But the commit
    "ath9k_hw: fix a noise floor calibration related race condition"
    makes the PA calibration executed more frequently beased on
    nfcal_pending value. Running PAOffset calibration lesser than
    longcal interval doesn't help anything and the worse part is that
    it causes NF load timeouts and RX deaf conditions.

    In a very noisy environment, where the distance b/w AP & station
    is ~10 meter and running a downlink udp traffic with frequent
    background scan causes "Timeout while waiting for nf to load:
    AR_PHY_AGC_CONTROL=0x40d1a" and moves the chip into deaf state.
    This issue was originaly reported in Android platform where
    the network-manager application does bgscan more frequently
    on AR9271 chips. (AR9285 family usb device).

    Cc: stable@kernel.org
    Signed-off-by: Vasanthakumar Thiagarajan
    Signed-off-by: Rajkumar Manoharan
    Signed-off-by: John W. Linville

    Rajkumar Manoharan
     
  • Signed-off-by: Rajkumar Manoharan
    Signed-off-by: John W. Linville

    Rajkumar Manoharan
     
  • There is an interoperability with AR9382/AR9380 in L1 state with a
    few root complexes which can cause a hang. This is fixed by
    setting some work around bits on the PCIE PHY. We fix by using
    a new ini array to modify these bits when the radio is idle.

    Cc: stable@kernel.org
    Cc: Jack Lee
    Cc: Carl Huang
    Cc: David Quan
    Cc: Nael Atallah
    Cc: Sarvesh Shrivastava
    Signed-off-by: Luis R. Rodriguez
    Signed-off-by: John W. Linville

    Luis R. Rodriguez
     

16 Jan, 2011

13 commits