13 Nov, 2011

1 commit

  • When the ahash driver returns -EBUSY, AH4/6 input functions return
    NET_XMIT_DROP, presumably copied from the output code path. But
    returning transmit codes on input doesn't make a lot of sense.
    Since NET_XMIT_DROP is a positive int, this gets interpreted as
    the next header type (i.e., success). As that can only end badly,
    remove the check.

    Signed-off-by: Nick Bowler
    Signed-off-by: David S. Miller

    Nick Bowler
     

10 Nov, 2011

9 commits


09 Nov, 2011

12 commits

  • A minor fix for the check that verifies that all given SSIDs (in req) exist
    in the filters (the match sets)

    Signed-off-by: Eyal Shapira
    Acked-by: Luciano Coelho
    Signed-off-by: John W. Linville

    Eyal Shapira
     
  • This happens with devices using a regulatory domain 0x68 that are only
    5Ghz capable because ath_reg_apply_active_scan_flags assumes that we
    always have a 2,4Ghz band.

    CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == 82cd838c, ra == 82cd8384
    Oops[#1]:
    Cpu 0
    $ 0 : 00000000 00000061 00000003 00000024
    $ 4 : 00000003 000016c1 82f900ac 00000024
    $ 8 : 00000000 82cda304 0058bad8 00000005
    $12 : 005908f8 001e8481 00000003 1dcd6500
    $16 : 00000002 00000000 82c700c0 82c700c0
    $20 : 82d415e4 82c70d64 82c70200 82c715bc
    $24 : 00000000 11e1a300
    $28 : 82ce2000 82ce3c70 82c715a8 82cd8384
    Hi : 00000000
    Lo : 0000001e
    epc : 82cd838c ath_reg_apply_world_flags+0x78/0x17c [ath]
    Not tainted
    ra : 82cd8384 ath_reg_apply_world_flags+0x70/0x17c [ath]
    Status: 1000d403 KERNEL EXL IE
    Cause : 80800008
    BadVA : 00000000
    PrId : 00019374 (MIPS 24Kc)
    Modules linked in: ath9k(+) ath9k_common ath9k_hw ath mac80211 cfg80211
    compat_firmware_class compat arc4 aes_generic deflate ecb cbc
    leds_gpio button_hotplug gpio_buttons input_polldev ie
    Process insmod (pid: 464, threadinfo=82ce2000, task=838b31d8, tls=00000000)
    Stack : 00000000 00000002 82f900ac 82c700c0 82d415e4 82c70d64 00000000 00000068
    82f900ac 82cd88f4 82c700c0 82cda304 00000001 000020f0 82f90000 82c70d40
    00000002 82f90000 82f900ac 82d4207c 82d518a0 00000002 7fee6118 8017c0d8
    00000008 8397ba00 82c70d40 00000000 82c70200 83813000 83813058 b0010000
    82d518a0 00000002 7fee6118 82d4b8c8 83445cc0 80120dc0 83804000 800eeda0
    ...
    Call Trace:
    [] ath_reg_apply_world_flags+0x78/0x17c [ath]
    [] ath_regd_init+0x464/0x488 [ath]
    [] ath9k_init_device+0x6a4/0x6b4 [ath9k]
    [] ath_pci_probe+0x27c/0x358 [ath9k]
    [] pci_device_probe+0x64/0xa4
    [] driver_probe_device+0xb8/0x190
    [] __driver_attach+0x6c/0xa4
    [] bus_for_each_dev+0x60/0xb0
    [] bus_add_driver+0xc4/0x25c
    [] driver_register+0xe0/0x198
    [] __pci_register_driver+0x50/0xe0
    [] ath9k_init+0x10/0x54 [ath9k]
    [] do_one_initcall+0x68/0x1ec
    [] sys_init_module+0xec/0x23c
    [] stack_done+0x20/0x3c

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

    Helmut Schaa
     
  • Two new struct members were not documented, fix that.

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

    Johannes Berg
     
  • John W. Linville
     
  • As we update the learned pmtu informations on demand, we might
    report a nagative expiration time value to userspace if the
    pmtu informations are already expired and we have not send a
    packet to that inetpeer after expiration. With this patch we
    send a expire time of null to userspace after expiration
    until the next packet is send to that inetpeer.

    Signed-off-by: Steffen Klassert
    Signed-off-by: David S. Miller

    Steffen Klassert
     
  • Small fix in Documentation, since min_pmtu is 512 + 20 + 20 = 552

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • TCP_NODELAY is weaker than TCP_CORK, when TCP_CORK was set, small
    segments will always pass Nagle test regardless of TCP_NODELAY option.

    Signed-off-by: Feng King
    Signed-off-by: David S. Miller

    Feng King
     
  • To prevent the SBus driver for Sun Happy Meal cards from being loaded for
    PCI cards utilizing the same chipset, a filter was added to the probe
    function in commit 0b492fce3d72d982a7981905f85484a1e1ba7fde.

    The filter was implemented by checking the name of the parent node in
    the OF tree. This patch extends this filter, so that the driver will
    load on SBus systems that are based upon SBI SBus Bridges.

    Signed-off-by: Kjetil Oftedal
    Signed-off-by: David S. Miller

    oftedal
     
  • pskb_may_pull() can change skb->data, so we have to load ptr/optr at the
    right place.

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • The driver used NET_IP_ALIGN to remove some additional padding inside of
    the rx_fixup function. On many architectures NET_IP_ALIGN defaults to 2
    which removed the correct amount of bytes.

    On MCORE2-machines commit ea812ca1b06113597adcd8e70c0f84a413d97544
    introduces a change which sets NET_IP_ALIGN to 0 by default. Which
    triggered the bug on these machines.

    This fix introduces a new RXW_PADDING define and uses this instead of
    NET_IP_ALIGN. The name was taken from the original SMSC7500 driver which
    is provided by SMSC.

    Signed-off-by: Nico Erfurth
    Tested-by: Phil Sutter
    Signed-off-by: David S. Miller

    Nico Erfurth
     
  • RFC 4291 Section 2.7 says Multicast addresses must not be used as source
    addresses in IPv6 packets - drop them on input so we don't process the
    packet further.

    Signed-off-by: Brian Haley
    Reported-and-Tested-by: Kumar Sanghvi
    Signed-off-by: David S. Miller

    Brian Haley
     
  • The link down would occur when reseting PHY. And it would take about 2 ~ 5 seconds
    from link down to link up. If the delay of pm_schedule_suspend is not long enough,
    the device would enter runtime_suspend before link up. After link up, the device
    would wake up and reset PHY again. Then, you would find the driver keep in a loop
    of runtime_suspend and rumtime_resume.

    Signed-off-by: Hayes Wang
    Acked-by: Francois Romieu
    Signed-off-by: David S. Miller

    hayeswang
     

08 Nov, 2011

18 commits

  • Since this device declares itself as vendor specific, must add
    a new entry to device ID table to support it.

    usb-device output of this device:

    T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
    D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
    P: Vendor=413c ProdID=8197 Rev=01.12
    S: Manufacturer=Broadcom Corp
    S: Product=BCM20702A0
    S: SerialNumber=D0DF9AA9C9F1
    C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
    I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
    I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
    I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
    I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

    Signed-off-by: Wen-chien Jesse Sung
    Signed-off-by: Gustavo F. Padovan

    Wen-chien Jesse Sung
     
  • .. with new name. Because nothing says "really solid kernel release"
    like naming it after an extinct animal that just happened to be in the
    news lately.

    Linus Torvalds
     
  • * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (31 commits)
    ARM: OMAP: Fix export.h or module.h includes
    ARM: OMAP: omap_device: Include linux/export.h
    ARM: OMAP2: Fix H4 matrix keyboard warning
    ARM: OMAP1: Remove unused omap-alsa.h
    ARM: OMAP1: Fix warnings about enabling 32 KiHz timer
    ARM: OMAP2+: timer: Remove omap_device_pm_latency
    ARM: OMAP2+: clock data: Remove redundant timer clkdev
    ARM: OMAP: Devkit8000: Remove double omap_mux_init_gpio
    ARM: OMAP: usb: musb: OMAP: Delete unused function
    MAINTAINERS: Update linux-omap git repository
    ARM: OMAP: change get_context_loss_count ret value to int
    ARM: OMAP4: hsmmc: configure SDMMC1_DR0 properly
    ARM: OMAP4: hsmmc: Fix Pbias configuration on regulator OFF
    ARM: OMAP3: hwmod: fix variant registration and remove SmartReflex from common list
    ARM: OMAP: I2C: Fix omap_register_i2c_bus() return value on success
    ARM: OMAP: dmtimer: Include linux/module.h
    ARM: OMAP2+: l3-noc: Include linux/module.h
    ARM: OMAP2+: devices: Fixes for McPDM
    ARM: OMAP: Fix errors and warnings when building for one board
    ARM: OMAP3: PM: restrict erratum i443 handling to OMAP3430 only
    ...

    Linus Torvalds
     
  • Mountpoint crossing is similar to following procfs symlinks - we do
    not get ->d_revalidate() called for dentry we have arrived at, with
    unpleasant consequences for NFS4.

    Simple way to reproduce the problem in mainline:

    cat >/tmp/a.c <
    #include
    #include
    main()
    {
    struct flock fl = {.l_type = F_RDLCK, .l_whence = SEEK_SET, .l_len = 1};
    if (fcntl(0, F_SETLK, &fl))
    perror("setlk");
    }
    EOF
    cc /tmp/a.c -o /tmp/test

    then on nfs4:

    mount --bind file1 file2
    /tmp/test < file1 # ok
    /tmp/test < file2 # spews "setlk: No locks available"...

    What happens is the missing call of ->d_revalidate() after mountpoint
    crossing and that's where NFS4 would issue OPEN request to server.

    The fix is simple - treat mountpoint crossing the same way we deal with
    following procfs-style symlinks. I.e. set LOOKUP_JUMPED...

    Cc: stable@kernel.org
    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf top: Fix live annotation in the --stdio interface
    perf top tui: Don't recalc column widths considering just the first page
    perf report: Add progress bar when processing time ordered events
    perf hists browser: Warn about lost events
    perf tools: Fix a typo of command name as trace-cmd
    perf hists: Fix recalculation of total_period when sorting entries
    perf header: Fix build on old systems
    perf ui browser: Handle K_RESIZE in dialog windows
    perf ui browser: No need to switch char sets that often
    perf hists browser: Use K_TIMER
    perf ui: Rename ui__warning_paranoid to ui__error_paranoid
    perf ui: Reimplement the popup windows using libslang
    perf ui: Reimplement ui__popup_menu using ui__browser
    perf ui: Reimplement ui_helpline using libslang
    perf ui: Improve handling sigwinch a bit
    perf ui progress: Reimplement using slang
    perf evlist: Fix grouping of multiple events

    Linus Torvalds
     
  • Tony Lindgren
     
  • Commit 32aaeffbd4a7457bf2f7448b33b5946ff2a960eb (Merge branch
    'modsplit-Oct31_2011'...) caused some build errors. Fix these
    and make sure we always have export.h or module.h included
    for MODULE_ and EXPORT_SYMBOL users:

    $ grep -rl ^MODULE_ arch/arm/*omap*/*.c | xargs \
    grep -L linux/module.h
    arch/arm/mach-omap2/dsp.c
    arch/arm/mach-omap2/mailbox.c
    arch/arm/mach-omap2/omap-iommu.c
    arch/arm/mach-omap2/smartreflex.c

    Also check we either have export.h or module.h included
    for the files exporting symbols:

    $ grep -rl EXPORT_SYMBOL arch/arm/*omap*/*.c | xargs \
    grep -L linux/export.h | xargs grep -L linux/module.h

    Cc: Russell King
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     
  • Include linux/export.h to fix below build warning:

    CC arch/arm/plat-omap/omap_device.o
    arch/arm/plat-omap/omap_device.c:1055: warning: data definition has no type or storage class
    arch/arm/plat-omap/omap_device.c:1055: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL'
    arch/arm/plat-omap/omap_device.c:1055: warning: parameter names (without types) in function declaration

    Signed-off-by: Axel Lin
    Signed-off-by: Tony Lindgren

    Axel Lin
     
  • Timers set by __set_chan_timer() should use miliseconds instead of
    jiffies. Commit 942ecc9c4643db5ce071562e0a23f99464d6b461 updated
    l2cap_set_timer() so it expects timeout to be specified in msecs
    instead of jiffies. This makes timeouts unreliable when CONFIG_HZ
    is not set to 1000.

    Signed-off-by: Andrzej Kaczmarek
    Signed-off-by: Gustavo F. Padovan

    Andrzej Kaczmarek
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (47 commits)
    forcedeth: fix a few sparse warnings (variable shadowing)
    forcedeth: Improve stats counters
    forcedeth: remove unneeded stats updates
    forcedeth: Acknowledge only interrupts that are being processed
    forcedeth: fix race when unloading module
    MAINTAINERS/rds: update maintainer
    wanrouter: Remove kernel_lock annotations
    usbnet: fix oops in usbnet_start_xmit
    ixgbe: Fix compile for kernel without CONFIG_PCI_IOV defined
    etherh: Add MAINTAINERS entry for etherh
    bonding: comparing a u8 with -1 is always false
    sky2: fix regression on Yukon Optima
    netlink: clarify attribute length check documentation
    netlink: validate NLA_MSECS length
    i825xx:xscale:8390:freescale: Fix Kconfig dependancies
    macvlan: receive multicast with local address
    tg3: Update version to 3.121
    tg3: Eliminate timer race with reset_task
    tg3: Schedule at most one tg3_reset_task run
    tg3: Obtain PCI function number from device
    ...

    Linus Torvalds
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • This reverts commit 330605423ca6eafafb8dcc27502bce1c585d1b06.
    The commit introduces regression when two 2.1 devices attempt
    establish rfcomm channel. Such connection is refused since there's
    a security block issue on l2cap. It means the link is unencrypted.

    2011-09-16 18:08:46.567616 < ACL data: handle 1 flags 0x00 dlen 24
    0000: 14 00 40 00 06 00 02 00 0f 35 03 19 12 00 ff ff
    ..@......5....˙˙
    0010: 35 05 0a 00 00 ff ff 00 5....˙˙.
    2011-09-16 18:08:46.572377 > HCI Event: Number of Completed Packets
    (0x13) plen 5
    handle 1 packets 1
    2011-09-16 18:08:46.577931 > ACL data: handle 1 flags 0x02 dlen 88
    L2CAP(d): cid 0x0040 len 84 [psm 0]
    0000: 07 00 02 00 4f 00 4c 35 4a 35 48 09 00 00 0a 00
    ....O.L5J5H.....
    0010: 01 00 00 09 00 01 35 03 19 12 00 09 00 05 35 03
    ......5.......5.
    0020: 19 10 02 09 00 09 35 08 35 06 19 12 00 09 01 02
    ......5.5.......
    0030: 09 02 00 09 01 02 09 02 01 09 00 0a 09 02 02 09
    ................
    0040: 00 00 09 02 03 09 00 00 09 02 04 28 01 09 02 05
    ...........(....
    0050: 09 00 02 00 ....
    2011-09-16 18:08:46.626057 < HCI Command: Authentication Requested
    (0x01|0x0011) plen 2
    handle 1
    2011-09-16 18:08:46.627614 > HCI Event: Command Status (0x0f) plen 4
    Authentication Requested (0x01|0x0011) status 0x00 ncmd 1
    2011-09-16 18:08:46.627675 > HCI Event: Link Key Request (0x17) plen 6
    bdaddr 00:00:F2:6A:29:69
    2011-09-16 18:08:46.634999 < HCI Command: Link Key Request Reply
    (0x01|0x000b) plen 22
    bdaddr 00:00:F2:6A:29:69 key 58CD393179FC902E5E8F512A855EE532
    2011-09-16 18:08:46.683278 > HCI Event: Command Complete (0x0e) plen 10
    Link Key Request Reply (0x01|0x000b) ncmd 1
    status 0x00 bdaddr 00:00:F2:6A:29:69
    2011-09-16 18:08:46.764729 > HCI Event: Auth Complete (0x06) plen 3
    status 0x00 handle 1
    2011-09-16 18:08:46.764821 < ACL data: handle 1 flags 0x00 dlen 12
    0000: 08 00 01 00 02 05 04 00 03 00 41 00 ..........A.
    2011-09-16 18:08:46.764851 > HCI Event: Command Status (0x0f) plen 4
    Unknown (0x00|0x0000) status 0x00 ncmd 2
    2011-09-16 18:08:46.768117 > HCI Event: Number of Completed Packets
    (0x13) plen 5
    handle 1 packets 1
    2011-09-16 18:08:46.770894 > ACL data: handle 1 flags 0x02 dlen 16
    L2CAP(s): Connect rsp: dcid 0x0000 scid 0x0041 result 3 status 0
    Connection refused - security block
    2011-09-16 18:08:49.000691 < ACL data: handle 1 flags 0x00 dlen 12
    0000: 08 00 01 00 06 06 04 00 40 00 40 00 ........@.@.
    2011-09-16 18:08:49.015675 > HCI Event: Number of Completed Packets
    (0x13) plen 5
    handle 1 packets 1
    2011-09-16 18:08:49.016927 > ACL data: handle 1 flags 0x02 dlen 12
    L2CAP(s): Disconn rsp: dcid 0x0040 scid 0x0040
    2011-09-16 18:08:51.009480 < HCI Command: Disconnect (0x01|0x0006) plen
    3
    handle 1 reason 0x13
    Reason: Remote User Terminated Connection
    2011-09-16 18:08:51.011525 > HCI Event: Command Status (0x0f) plen 4
    Disconnect (0x01|0x0006) status 0x00 ncmd 1
    2011-09-16 18:08:51.123494 > HCI Event: Disconn Complete (0x05) plen 4
    status 0x00 handle 1 reason 0x16
    Reason: Connection Terminated by Local Host

    Signed-off-by: Arek Lichwa
    Signed-off-by: Gustavo F. Padovan

    Arek Lichwa
     
  • This fixes the following sparse warnings:
    drivers/net/ethernet/nvidia/forcedeth.c:2113:7: warning: symbol 'size' shadows an earlier one
    drivers/net/ethernet/nvidia/forcedeth.c:2102:6: originally declared here
    drivers/net/ethernet/nvidia/forcedeth.c:2155:7: warning: symbol 'size' shadows an earlier one
    drivers/net/ethernet/nvidia/forcedeth.c:2102:6: originally declared here
    drivers/net/ethernet/nvidia/forcedeth.c:2227:7: warning: symbol 'size' shadows an earlier one
    drivers/net/ethernet/nvidia/forcedeth.c:2215:6: originally declared here
    drivers/net/ethernet/nvidia/forcedeth.c:2271:7: warning: symbol 'size' shadows an earlier one
    drivers/net/ethernet/nvidia/forcedeth.c:2215:6: originally declared here
    drivers/net/ethernet/nvidia/forcedeth.c:2986:20: warning: symbol 'addr' shadows an earlier one
    drivers/net/ethernet/nvidia/forcedeth.c:2963:6: originally declared here

    Signed-off-by: David Decotigny
    Signed-off-by: David S. Miller

    david decotigny
     
  • Rx byte count was off; instead use the hardware's count. Tx packet
    count was counting pre-TSO packets; instead count on-the-wire packets.
    Report hardware dropped frame count as rx_fifo_errors.

    - The count of transmitted packets reported by the forcedeth driver
    reports pre-TSO (TCP Segmentation Offload) packet counts and not the
    count of the number of packets sent on the wire. This change fixes
    the forcedeth driver to report the correct count. Fixed the code by
    copying the count stored in the NIC H/W to the value reported by the
    driver.

    - Count rx_drop_frame errors as rx_fifo_errors:
    We see a lot of rx_drop_frame errors if we disable the rx bottom-halves
    for too long. Normally, rx_fifo_errors would be counted in this case.
    The rx_drop_frame error count is private to forcedeth and is not
    reported by ifconfig or sysfs. The rx_fifo_errors count is currently
    unused in the forcedeth driver. It is reported by ifconfig as overruns.
    This change reports rx_drop_frame errors as rx_fifo_errors.

    Signed-off-by: David Decotigny
    Signed-off-by: David S. Miller

    Mandeep Baines
     
  • Function ndo_get_stats() updates most of the stats from hardware
    registers, making the manual updates un-needed. This change removes
    these manual updates. Main exception is rx_missed_errors which needs
    manual update.

    Another exception is rx_packets, still updated manually in this commit
    to make sure this patch doesn't change behavior of driver. This will
    be addressed by a future patch.

    Signed-off-by: David Decotigny
    Signed-off-by: David S. Miller

    david decotigny
     
  • This is to avoid a race, accidentally acknowledging an interrupt that
    we didn't notice and won't immediately process. This is based solely
    on code inspection; it is not known if there was an actual bug here.

    Signed-off-by: David Decotigny
    Signed-off-by: David S. Miller

    Mike Ditto
     
  • When forcedeth module is unloaded, there exists a path that can lead
    to mod_timer() after del_timer_sync(), causing an oops. This patch
    short-circuits this unneeded path, which originates in
    nv_get_ethtool_stats().

    Tested:
    x86_64 16-way + 3 ethtool -S infinite loops + 100Mbps incoming traffic
    + rmmod/modprobe/ifconfig in a loop

    Initial-Author: Salman Qazi
    Discussion: http://patchwork.ozlabs.org/patch/123548/

    Signed-off-by: David Decotigny
    Signed-off-by: David S. Miller

    david decotigny
     
  • Reported-by: Witold Baryluk
    Signed-off-by: Stephen Rothwell
    Signed-off-by: Paul Gortmaker
    Signed-off-by: Linus Torvalds

    Stephen Rothwell