18 Jun, 2009

22 commits

  • commit 2b85a34e911bf483c27cfdd124aeb1605145dc80
    (net: No more expensive sock_hold()/sock_put() on each tx)
    changed initial sk_wmem_alloc value.

    We need to take into account this offset when reporting
    sk_wmem_alloc to user, in PROC_FS files or various
    ioctls (SIOCOUTQ/TIOCOUTQ)

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

    Eric Dumazet
     
  • on boot, link is always up.

    Signed-off-by: Seguier Regis
    Signed-off-by: David S. Miller

    Séguier Régis
     
  • If the adapter is not power-manageable using either ACPI, or the
    native PCI PM interface, __e100_power_off() returns error code, which
    causes every attempt to suspend to fail, although it should return 0
    in such a case. Fix this problem by ignoring the return value of
    pci_set_power_state() in __e100_power_off().

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Andreas Mohr
    Signed-off-by: David S. Miller

    Rafael J. Wysocki
     
  • clk_disable was called twice in the remove function.
    Correct this so that the driver module unloads without error.

    Signed-off-by: Chaithrika U S
    Signed-off-by: David S. Miller

    chaithrika@ti.com
     
  • This patch is inspired by patch recently posted by Johannes Berg. Basically what
    my patch does is to group list and a count of addresses into newly introduced
    structure netdev_hw_addr_list. This brings us two benefits:
    1) struct net_device becames a bit nicer.
    2) in the future there will be a possibility to operate with lists independently
    on netdevices (with exporting right functions).
    I wanted to introduce this patch before I'll post a multicast lists conversion.

    Signed-off-by: Jiri Pirko

    drivers/net/bnx2.c | 4 +-
    drivers/net/e1000/e1000_main.c | 4 +-
    drivers/net/ixgbe/ixgbe_main.c | 6 +-
    drivers/net/mv643xx_eth.c | 2 +-
    drivers/net/niu.c | 4 +-
    drivers/net/virtio_net.c | 10 ++--
    drivers/s390/net/qeth_l2_main.c | 2 +-
    include/linux/netdevice.h | 17 +++--
    net/core/dev.c | 130 ++++++++++++++++++--------------------
    9 files changed, 89 insertions(+), 90 deletions(-)
    Signed-off-by: David S. Miller

    Jiri Pirko
     
  • My previous patch, which explicitly delays freeing of tnodes by adding
    them to the list to flush them after the update is finished, isn't
    strict enough. It treats exceptionally tnodes without parent, assuming
    they are newly created, so "invisible" for the read side yet.

    But the top tnode doesn't have parent as well, so we have to exclude
    all exceptions (at least until a better way is found). Additionally we
    need to move rcu assignment of this node before flushing, so the
    return type of the trie_rebalance() function is changed.

    Reported-by: Yan Zheng
    Signed-off-by: Jarek Poplawski
    Signed-off-by: David S. Miller

    Jarek Poplawski
     
  • Action police statistics could be misleading because drops are not
    shown when expected.

    With feedback from: Jamal Hadi Salim

    Reported-by: Pawel Staszewski
    Signed-off-by: Jarek Poplawski
    Acked-by: Jamal Hadi Salim
    Signed-off-by: David S. Miller

    Jarek Poplawski
     
  • Version bump.

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

    Stephen Hemminger
     
  • Add support for generic receive offload.

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

    Stephen Hemminger
     
  • This patch implements skb recycling. It reclaims transmitted skb's
    for use in the receive ring.

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

    Stephen Hemminger
     
  • Reduce the size of the driver transmit ring to reduce latency
    and allow qdisc to do better rate control. Also make it
    obvious what the minimum transmit ring allowed is and why.

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

    Stephen Hemminger
     
  • Since it is likely that there are multiple packets received per
    interrupt, only update the receive counters once after all
    packets are processed.

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

    Stephen Hemminger
     
  • The logic in sky2_down was incorrect. Receiver could report status
    after rx_stop was called.

    The steps need to be:
    * stop new frames from being transmitted
    * shut off transmit/receive logic
    * synchronize with NAPI to process status info about transmitter
    and receiver

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

    Stephen Hemminger
     
  • Add some read's to avoid any PCI posting issues when controlling
    irq's.

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

    Stephen Hemminger
     
  • Reset more parts of the receive path when device is take offline.

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

    Stephen Hemminger
     
  • This unblocks the chip if it is stuck in pause cycle during
    shutdown.

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

    Stephen Hemminger
     
  • Stopping all activity through ChipCmd and blindly acking the irqs
    is neither nice nor completely needed: the transition to low-power
    mode does enough work and it apparently keeps the device in a sane
    state.

    Patch suggested by a fix for http://bugzilla.kernel.org/show_bug.cgi?id=9512

    The rtl_shutdown path is kept unchanged so far.

    Signed-off-by: Francois Romieu
    Tested-by: Anders Eriksson
    Cc: Edward Hsu
    Signed-off-by: David S. Miller

    françois romieu
     
  • When sis190 driver is trying to get default phy, if it doesn't find home
    or lan phy, it falls back to the first phy in the phy list but list_entry()
    points to a bogus entry. list_first_entry() should be used instead.

    Signed-off-by: Arnaud Patard
    Acked-off-by: Francois Romieu
    Signed-off-by: David S. Miller

    françois romieu
     
  • -- derived from reverted commit 047584ce94108012288554a5f84585d792cc7f8f
    -- reworked by Grant Likely to play nice with commit:
    "net: Rework ucc_geth driver to use of_mdio infrastructure"
    (0b9da337dca972e7a4144e298ec3adb8f244d4a4)

    Signed-off-by: Haiying Wang
    Signed-off-by: David S. Miller
    Signed-off-by: Grant Likely
    Signed-off-by: David S. Miller

    Haiying Wang
     
  • This reverts commit 047584ce94108012288554a5f84585d792cc7f8f.

    This patch meshes badly with "net: Rework ucc_geth driver to use
    of_mdio infrastructure" (0b9da337dca972e7a4144e298ec3adb8f244d4a4).
    Since most of the patch needs to be reworked, it is clearer to revert
    the patch and then apply the corrected version

    Signed-off-by: Grant Likely
    Signed-off-by: David S. Miller

    Grant Likely
     
  • The skb mac_header field is sometimes NULL (or ~0u) as a sentinel
    value. The places where skb is expanded add an offset which would
    change this flag into an invalid pointer (or offset).

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

    Stephen Hemminger
     
  • Looking at the crash in log_martians(), one suspect is that the check for
    mac header being set is not correct. The value of mac_header defaults to
    0 on allocation, therefore skb_mac_header_was_set will always be true on
    platforms using NET_SKBUFF_USES_OFFSET.

    Signed-off-by: Stephen Hemminger
    Acked-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Stephen Hemminger
     

17 Jun, 2009

6 commits

  • commit 2b85a34e911bf483c27cfdd124aeb1605145dc80
    (net: No more expensive sock_hold()/sock_put() on each tx)
    changed initial sk_wmem_alloc value.

    Some protocols check sk_wmem_alloc value to determine if a timer
    must delay socket deallocation. We must take care of the sk_wmem_alloc
    value being one instead of zero when no write allocations are pending.

    Reported by Ingo Molnar, and full diagnostic from David Miller.

    This patch introduces three helpers to get read/write allocations
    and a followup patch will use these helpers to report correct
    write allocations to user.

    Reported-by: Ingo Molnar
    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Fix kernel-doc parameter name in phy_device.c.

    Signed-off-by: Randy Dunlap
    Signed-off-by: David S. Miller

    Randy Dunlap
     
  • Fix up remaining drivers returning a magic or an errno value from their
    ndo_start_xmit() functions that were missed in the first pass:

    - isdn_net: missed conversion
    - bpqether: missed conversion: skb is freed, so return NETDEV_TX_OK
    - hp100: intention appears to be to resubmit skb once resources are
    available, but due to no queue handling it is dropped for now.
    - lapbether: skb is freed, so return NETDEV_TX_OK

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

    Patrick McHardy
     
  • - Enabled SRIOV support in the driver.
    - Call __vxge_hw_verify_pci_e_info() for the PF only. This function
    verifies the negotiated link width and current link speed in the
    Link Status Register (offset 12h) which are reserved fields for VFs
    as per the SRIOV specification, section 3.5.8.
    - Implemented David Miller's comment to remove the #ifdef CONFIG_PCI_IOV as
    these intefaces have NOP versions declared when the defintion is not set.

    Signed-off-by: Sivakumar Subramani
    Signed-off-by: Rastapur Santosh
    Signed-off-by: Ramkrishna Vepa
    Signed-off-by: David S. Miller

    Sivakumar Subramani
     
  • Fix kernel-doc warnings (missing + extra entries) in skbuff.h.

    Signed-off-by: Randy Dunlap
    Signed-off-by: David S. Miller

    Randy Dunlap
     
  • Noticed by Stephen Rothwell.

    Signed-off-by: David S. Miller

    David S. Miller
     

16 Jun, 2009

12 commits

  • If socket destuction gets delayed to a timer, we try to
    lock_sock() from that timer which won't work.

    Use bh_lock_sock() in that case.

    Signed-off-by: David S. Miller
    Tested-by: Ingo Molnar

    David S. Miller
     
  • David S. Miller
     
  • The code to compute VPD size didn't handle some systems that use
    chip without VPD. Also some of the newer chips use some additional
    registers to store the actual size, and wasn't worth putting the
    additional complexity in, so just remove the code.

    No big loss since the code to set the VPD size was only a
    convenience so that utilities would not read the extra space past
    the end of the available VPD.

    Move the first PCI config read earlier to detect bad hardware
    where it returns all ones and refuse loading driver before furthur
    damage.

    Signed-off-by: Stephen Hemminger
    Tested-by: Andy Whitcroft
    Signed-off-by: David S. Miller

    Stephen Hemminger
     
  • When changing to a new BSSID or SSID, the code in
    ieee80211_set_disassoc() needs to have the old data
    still valid to be able to disconnect and clean up
    properly. Currently, however, the old data is thrown
    away before ieee80211_set_disassoc() is ever called,
    so fix that by calling the function _before_ the old
    data is overwritten.

    This is (one of) the issue(s) causing mac80211 to hold
    cfg80211's BSS structs forever, and them thus being
    returned in scan results after they're long gone.

    http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=2015

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

    Johannes Berg
     
  • If we are in PS mode, we have to process the received frame if
    the SC_OP_WAIT_FOR_CAB bit is set.

    Changes-licensed-under: ISC
    Signed-off-by: Gabor Juhos
    Signed-off-by: John W. Linville

    Gabor Juhos
     
  • We have to remain awake if the SC_OP_WAIT_FOR_CAB flag is set.

    Changes-licensed-under: ISC
    Signed-off-by: Gabor Juhos
    Signed-off-by: John W. Linville

    Gabor Juhos
     
  • The ath9k_ps_{wakeup,restore} calls must be in balance.

    Changes-licensed-under: ISC
    Signed-off-by: Gabor Juhos
    Signed-off-by: John W. Linville

    Gabor Juhos
     
  • A polarity error snuck into the rfkill rewrite's dell-laptop
    conversion, fix it.

    Signed-off-by: Johannes Berg
    Tested-by: Oliver Hartkopp
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • Now that the dust has settled a bit, improve the docs on rfkill
    and include more information about /dev/rfkill.

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

    Johannes Berg
     
  • If we do not disconnect when a channel switch is requested,
    we end up eventually detection beacon loss from the AP and
    then disconnecting, without ever really telling the AP, so
    we might just as well disconnect right away.

    Additionally, this fixes a problem with iwlwifi where the
    driver will clear some internal state on channel changes
    like this and then get confused when we actually go clear
    that state from mac80211.

    It may look like this patch drops the no-IBSS check, but
    that is already handled by cfg80211 in the wext handler it
    provides for IBSS (cfg80211_ibss_wext_siwfreq).

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

    Johannes Berg
     
  • I suspect that some driver bugs can cause queues to be
    stopped while they shouldn't be, but it's hard to find
    out whether that is the case or not without having any
    visible information about the queues. This adds a file
    to debugfs that allows us to see the queues' statuses.

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

    Johannes Berg
     
  • This ports the ath9k rfkill code to the new API offered by
    cfg80211 and thus removes a lot of useless stuff.

    ("With this series a kernel panic, which is a regression, during module
    unload disappears." -- Vasanthakumar Thiagarajan

    Other patches in the series:

    ath9k: Add helper to get ath9k specific current channel
    ath9k: Make sure we have current channel in ah_curchan before rf
    disable/enable

    -- JWL)

    Signed-off-by: Johannes Berg
    Cc: Luis Rodriguez
    Tested-by: Vasanthakumar Thiagarajan
    Signed-off-by: Vasanthakumar Thiagarajan
    Signed-off-by: John W. Linville

    Johannes Berg