28 Nov, 2011

1 commit

  • Revert a hunk in drivers/net/wireless/ath/ath9k/hw.c introduced by
    commit 2577c6e8f232 ("ath9k_hw: Add support for AR946/8x chipsets") that
    caused a nasty regression to appear on my Acer Ferrari One (the box
    locks up entirely at random times after the wireless has been started
    without any way to get debug information out of it).

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Felix Fietkau
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     

18 Nov, 2011

4 commits


17 Nov, 2011

15 commits

  • This patch fixes the pm functions to avoid the system
    sleeps while a spinlock is taken.

    Signed-off-by: Francesco Virlinzi
    Signed-off-by: Giuseppe Cavallaro
    Signed-off-by: David S. Miller

    Francesco Virlinzi
     
  • This patch removes un-needed spin_lock in stmmac_ioctl while reading and
    writing mdio registers. While holding spin_lock the code must be
    atomic, which is not true in this case as both mdiobus_read and writes
    have mutex locks.

    Without this patch reading mdio registers via mii-tool results in below
    BUG:
    mii-tool -vvv eth0"
    Using SIOCGMIIPHY=0x8947
    BUG: sleeping function called from invalid context at kernel/mutex.c:287
    in_atomic(): 1, irqs_disabled(): 0, pid: 614, name: mii-tool
    2 locks held by mii-tool/614:
    #0: (rtnl_mutex){......}, at: [] dev_ioctl+0x550/0x674
    #1: (&priv->lock){......}, at: [] stmmac_ioctl+0x4c/0x78
    [] (unwind_backtrace+0x0/0xcc) from []
    (mutex_lock_nested+0x24/0x35c)
    [] (mutex_lock_nested+0x24/0x35c) from []
    (mdiobus_read+0x44/0x70)
    [] (mdiobus_read+0x44/0x70) from []
    (phy_mii_ioctl+0x4c/0x138)
    [] (phy_mii_ioctl+0x4c/0x138) from []
    (stmmac_ioctl+0x5c/0x78)
    [] (stmmac_ioctl+0x5c/0x78) from []
    (dev_ifsioc+0x2a4/0x2c8)
    [] (dev_ifsioc+0x2a4/0x2c8) from []
    (dev_ioctl+0x560/0x674)
    [] (dev_ioctl+0x560/0x674) from []
    (vfs_ioctl+0x2c/0x8c)
    [] (vfs_ioctl+0x2c/0x8c) from []
    (do_vfs_ioctl+0x530/0x578)
    [] (do_vfs_ioctl+0x530/0x578) from []
    (sys_ioctl+0x34/0x54)
    [] (sys_ioctl+0x34/0x54) from []
    (ret_fast_syscall+0x0/0x2c)

    Signed-off-by: Srinivas Kandagatla
    Signed-off-by: Giuseppe Cavallaro
    Signed-off-by: David S. Miller

    Srinivas Kandagatla
     
  • New GMAC devices (newer than the databook 3.50a) have the
    HW capability register that provides which features are actually
    supported by the hardware.

    On old devices many information have to be passed through the
    platform, for example: enhanced descriptor structure,
    TX COE etc. These are mandatory to properly configure the driver.
    This remains still valid because the driver has to support old
    Synopsys devices but now it's also able to override them using the
    values from the HW capability register if supported.

    Signed-off-by: Giuseppe Cavallaro
    Signed-off-by: David S. Miller

    Giuseppe CAVALLARO
     
  • This patch fixes the way to stop the 1000Base advertising
    capabilties for non GMII interfaces.

    Signed-off-by: Srinivas Kandagatla
    Acked-by: Giuseppe Cavallaro
    Signed-off-by: David S. Miller

    Srinivas Kandagatla
     
  • This patch uses an mdelay to manage the timeout on
    sw reset to be independant of cpu_clk.

    Signed-off-by: Francesco Virlinzi
    Reviewed-by: Giuseppe Cavallaro
    Signed-off-by: David S. Miller

    Francesco Virlinzi
     
  • Update version number.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    stephen hemminger
     
  • Rather than generating a different RSS key on each boot, just use
    a predetermined value that will map same flow to same value on
    every device.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    stephen hemminger
     
  • The default Tx ring size for the sky2 driver is quite large and could
    cause excess buffer bloat for many users. The minimum ring size
    possible and still allow handling the worst case packet on 64bit platforms
    is 38 which gets rounded up to a power of 2. But most packets only require
    a couple of ring elements.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    stephen hemminger
     
  • The code is clearer if the up/down functions are renamed to
    open/close like other drivers. Purely syntax change.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    stephen hemminger
     
  • A couple of the reset and setup paths have possible PCI posting issues.
    When setting registers, a read is necessary to force the writes to complete.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    stephen hemminger
     
  • There are several problems with recent change to how IRQ's are setup.
    * synchronize_irq in sky2_shutdown would hang because there
    was no IRQ setup.
    * when device was set to down, some IRQ bits left enabled so a
    hardware error would produce IRQ with no handler
    * quick link on Optima chip set was enabled without handler
    * suspend/resume would leave IRQ on with no handler if device
    was down

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    stephen hemminger
     
  • We are checking whether the MCR0_HASHEN bit is set using a logical and
    instead of bitwise and, fix that.

    Signed-off-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Florian Fainelli
     
  • The first #include must be pch_gbe.h as it
    does a #define of pr_fmt.

    Signed-off-by: Joe Perches
    Signed-off-by: David S. Miller

    Joe Perches
     
  • Re-request fw from fs may fail for different reasons, once the fw was
    loaded we won't release it until driver is removed.

    This also resolves the boot problem when initial fw is located on initrd,
    but rootfs is still unavailable, in this case device reset will fail due
    to absence of fw files.

    Signed-off-by: Dmitry Kravkov
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Dmitry Kravkov
     
  • so the defconfig of the atmel continue to have the support of the network
    as before

    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD
    Cc: Nicolas Ferre
    Signed-off-by: David S. Miller

    Jean-Christophe PLAGNIOL-VILLARD
     

16 Nov, 2011

5 commits


15 Nov, 2011

6 commits


14 Nov, 2011

3 commits

  • Add checking for valid magic values (needed for stability in the event
    corrupted packets are received) and remove some other unneeded checks.
    Also, fix flagging device as WWAN (Bugzilla bug #39952).

    Signed-off-by: Mark Kamichoff
    Signed-off-by: David S. Miller

    Mark Kamichoff
     
  • Wait for the chip to be ready before any access to it. On the
    Snowball platform we need to enable an external regulator before
    the chip comes online, and then it happens that the device is
    not yet ready at probe time, so let's wait for it.

    Signed-off-by: Robert Marklund
    Signed-off-by: Linus Walleij
    Signed-off-by: David S. Miller

    Robert Marklund
     
  • This change makes sure that tx_packets/rx_bytes ifconfig counters are
    updated even on NICs that don't provide hardware support for these
    stats: they are now updated in software. For the sake of consistency,
    we also now have tx_bytes updated in software (hardware counters
    include ethernet CRC, and software doesn't account for it).

    This reverts parts of:
    - "forcedeth: statistics optimization" (21828163b2)
    - "forcedeth: Improve stats counters" (0bdfea8ba8)
    - "forcedeth: remove unneeded stats updates" (4687f3f364)

    Tested:
    pktgen + loopback (http://patchwork.ozlabs.org/patch/124698/)
    reports identical tx_packets/rx_packets and tx_bytes/rx_bytes.

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

    david decotigny
     

12 Nov, 2011

3 commits

  • …wireless into for-davem

    John W. Linville
     
  • Firmware expects 'max_ssid_length' field in
    'struct mwifiex_ie_types_wildcard_ssid_params' to be '0' for
    performing SSID specific scan. Currently driver updates it with
    an actual SSID length. Hence UUT is not able to find the AP
    configured in hidden SSID mode in scan results and association
    fails.

    max_ssid_length is filled with '0' to fix the issue.

    Signed-off-by: Amitkumar Karwar
    Signed-off-by: Bing Zhao
    Signed-off-by: John W. Linville

    Amitkumar Karwar
     
  • When HW RF kill switch is set to kill the radio, our NIC issues an
    interrupt after we stop the APM module. When we unload the module,
    the driver disables and cleans the interrupts before stopping the
    APM. So we have a real interrupt (inta not zero) pending.
    When this interrupts pops up the tasklet has already been killed
    and we crash.

    Here is a logical description of the flow:

    disable and clean interrupts
    synchronize interrupts
    kill the tasklet

    stop the APM <<] tasklet_action+0x62/0x130
    [ 201.315149] PGD 1c06063 PUD db37f067 PMD db408067 PTE 80000000911b7160
    [ 201.316456] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
    [ 201.317324] CPU 1
    [ 201.317495] Modules linked in: arc4 iwlwifi(-) mac80211 cfg80211 netconsole configfs binfmt_misc i915 drm_kms_helper drm uvcvideo i2c_algo_bit videodev dell_laptop dcdbas intel_agp dell_wmi intel_ips psmouse intel_gtt v4l2_compat_ioctl32 asix usbnet mii serio_raw video sparse_keymap firewire_ohci sdhci_pci sdhci firewire_core e1000e crc_itu_t [last unloaded: configfs]
    [ 201.323839]
    [ 201.324015] Pid: 2061, comm: modprobe Not tainted 3.1.0-rc9-wl #4 Dell Inc. Latitude E6410/0667CC
    [ 201.324736] RIP: 0010:[] [] tasklet_action+0x62/0x130
    [ 201.325128] RSP: 0018:ffff88011bc43ea0 EFLAGS: 00010286
    [ 201.325338] RAX: ffff88008ae70000 RBX: ffff8800911b7150 RCX: ffff88008ae70028
    [ 201.325555] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88008ae70000
    [ 201.325775] RBP: ffff88011bc43ec0 R08: 0000000000000000 R09: 0000000000000000
    [ 201.325994] R10: 0000000000000002 R11: 0000000000000001 R12: 0000000000000001
    [ 201.326212] R13: 0000000000000006 R14: 0000000000000100 R15: ffff88008e259fd8
    [ 201.326431] FS: 00007f4b90ea9700(0000) GS:ffff88011bc40000(0000) knlGS:0000000000000000
    [ 201.326657] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    [ 201.326864] CR2: ffff8800911b7150 CR3: 000000008fd6d000 CR4: 00000000000006e0
    [ 201.327083] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    [ 201.327302] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    [ 201.327521] Process modprobe (pid: 2061, threadinfo ffff88008e258000, task ffff88008ae70000)
    [ 201.327747] Stack:
    [ 201.330494] 0000000000000046 0000000000000030 0000000000000001 0000000000000006
    [ 201.333870] ffff88011bc43f30 ffffffff8106cd8a ffffffff811e1016 ffff88011bc43f08
    [ 201.337186] 0000000100000046 ffff88008e259fd8 0000000a10be2160 0000000000000006
    [ 201.340458] Call Trace:
    [ 201.342994]
    [ 201.345656] [] __do_softirq+0xca/0x250
    [ 201.348185] [] ? pde_put+0x76/0x90
    [ 201.350730] [] ? do_raw_spin_unlock+0x5e/0xb0
    [ 201.353261] [] ? pde_put+0x76/0x90
    [ 201.355776] [] call_softirq+0x1c/0x30
    [ 201.358287] [] do_softirq+0x9d/0xd0
    [ 201.360823] [] irq_exit+0xd5/0xf0
    [ 201.363330] [] do_IRQ+0x66/0xe0
    [ 201.365819] [] common_interrupt+0x73/0x73
    [ 201.368257]

    Cc: 3.1+
    Signed-off-by: Emmanuel Grumbach
    Signed-off-by: Wey-Yi Guy
    Signed-off-by: John W. Linville

    Emmanuel Grumbach
     

10 Nov, 2011

3 commits