20 Jun, 2009
1 commit
-
Remove duplicates, a stray merge conflict marker, and an entry for a file
which doesn't exist, and move one entry to its correct alphabetical place.Signed-off-by: Tilman Schmidt
Signed-off-by: David S. Miller
19 Jun, 2009
13 commits
-
The Unicast Promiscious Mode (UPM) bit in the mv643xx_eth port
configuration register doesn't do exactly what its name would suggest:
setting this bit merely enables reception of all unicast frames with a
destination address that differs from our local MAC address in bits
[47:4]. In particular, it doesn't have any effect on unicast frames
with a destination address that matches our MAC address in bits [47:4]
-- these will still be tested against the 16-entry unicast address
filter table.Therefore, if the interface is set to promiscuous mode, just setting
the unicast promiscuous bit isn't enough -- we need to set all filter
bits in the unicast filter table to 1 as well.Reported-by: Sachin Sanap
Signed-off-by: Prabhanjan Sarnaik
Tested-by: Siddarth Gore
Tested-by: Mahavir Jain
Signed-off-by: Lennert Buytenhek
Cc: stable@kernel.org
Signed-off-by: David S. Miller -
all references got removed by 865c652d6be9929927cabdc54b137b7541eb6612
(r8169: remove non-napi code).Signed-off-by: Florian Westphal
Signed-off-by: David S. Miller -
The last hunk of this commit:
commit 12d04a3c12b420f23398b4d650127642469a60a6
Author: Alexander Duyck
Date: Wed Mar 25 22:05:03 2009 +0000e1000e: commonize tx cleanup routine to match e1000 & igb
changed the logic for determining if we should call napi_complete or
not at then end of a napi poll.If the NIC is using MSI-X with no work to do in ->poll, net_rx_action
can just spin indefinitely on older kernels and for 2 jiffies on newer
kernels since napi_complete is never called and budget isn't
decremented.Discovered and verified while testing driver backport to an older
kernel.Signed-off-by: Andy Gospodarek
Acked-by: Alexander Duyck
Signed-off-by: David S. Miller -
This patch adds five PID's to the whitelist set of devices.
Devices added to the whitelist:
Dell Wireless 5530 HSPA
Ericsson Mobile Broadband Module variants (F3507g, F3607gw and F3307)
Toshiba F3507gSigned-off-by: Jonas Sjöquist
Signed-off-by: David S. Miller -
IEEE 802.15.4 git tree was moved from my private area to shared one.
Fix address accordingly.Signed-off-by: Dmitry Eremin-Solenikov
Signed-off-by: David S. Miller -
Use print_hex_dump_bytes instead of self-written dumping function
for outputting packet dumps.Signed-off-by: Dmitry Eremin-Solenikov
Signed-off-by: David S. Miller -
Rcv and process ansync link status notifications from BE instead of polling
for link status in the be_worker thread.Signed-off-by: Sathya Perla
Signed-off-by: David S. Miller -
Cleanup multicast_set method to avoid an extra copy of mc_list
and unwanted promiscuos sets to BE.Signed-off-by: Sathya Perla
Signed-off-by: David S. Miller -
Currenlty multicast_set and promiscuous_config cmds -- that may be called in BH context --
use the blocking MCC mbox to post cmds.
An mbox cmd is protected via a spin_lock(cmd_lock) and not spin_lock_bh() as it is undesirable
to disable BHs while a blocking mbox cmd is in progress (and take long to finish.)
This can lockup a cmd in progress in process context.
So, these two cmds in BH context must use the MCC queue to post cmds.Signed-off-by: Sathya Perla
Signed-off-by: David S. Miller -
Currenlty all cmds use the blocking MCC mbox to post cmds. An mbox cmd is protected
via a spin_lock(cmd_lock) and not spin_lock_bh() as it is undesirable
to disable BHs while a blocking mbox cmd is in progress (and take long to finish.)
This can lockup a cmd in progress in process context. Instead cmds that may be
called in BH context must use the MCC queue to post cmds. The cmd completions
are rcvd in a separate completion queue and the events are placed in the tx-event
queue.Signed-off-by: Sathya Perla
Signed-off-by: David S. Miller -
This fixes various endianness bugs. Some harmless and some real ones.
This is tested on a PowerPC-64 machine.Signed-off-by: Michael Buesch
Cc: Stable
Signed-off-by: David S. Miller -
If the iucv message limit for a communication path is exceeded,
sendmsg() returns -EAGAIN instead of -EPIPE.
The calling application can then handle this error situtation,
e.g. to try again after waiting some time.For blocking sockets, sendmsg() waits up to the socket timeout
before returning -EAGAIN. For the new wait condition, a macro
has been introduced and the iucv_sock_wait_state() has been
refactored to this macro.Signed-off-by: Hendrik Brueckner
Signed-off-by: Ursula Braun
Signed-off-by: David S. Miller -
Change the if condition to exit sendmsg() if the socket in not connected.
Signed-off-by: Hendrik Brueckner
Signed-off-by: Ursula Braun
Signed-off-by: David S. Miller
18 Jun, 2009
26 commits
-
This forces every update of tx ring producer to check for
availability of space for next full TSO command. Earlier
firmware control commands didn't care to pause tx queue.Stop the tx queue if there's not enough space to transmit one full
LSO command left on the tx ring after current transmit. This avoids
returning NETDEV_TX_BUSY after checking distance between producer
and consumer on every cpu.Restart the tx queue only if we have cleaned up enough tx
descriptors.Signed-off-by: Dhananjay Phadke
Signed-off-by: David S. Miller -
Fix the detection of cut-thru mode of the hardware (direct dma
to host) to mode configured in SRE (ingress block) rather than
onboard memory control.Signed-off-by: Dhananjay Phadke
Signed-off-by: David S. Miller -
forcedeth doesnt use properly dma api in its tx completion path
and in nv_loopback_test()pci_map_single() should be paired with pci_unmap_single()
pci_map_page() should be paired with pci_unmap_page()forcedeth xmit path uses pci_map_single() & pci_map_page(),
but tx completion path only uses pci_unmap_single()nv_loopback_test() uses pci_map_single() & pci_unmap_page()
Add a dma_single field in struct nv_skb_map, and
define a helper function nv_unmap_txskbSigned-off-by: Eric Dumazet
CC: Ayaz Abdulla
Signed-off-by: David S. Miller -
commit 2b85a34e911bf483c27cfdd124aeb1605145dc80
(net: No more expensive sock_hold()/sock_put() on each tx)
changed initial sk_wmem_alloc value.This broke net/atm since this protocol assumed a null
initial value. This patch makes necessary changes.Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller -
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 -
on boot, link is always up.
Signed-off-by: Seguier Regis
Signed-off-by: David S. Miller -
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 -
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 -
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 -
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 -
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 -
Version bump.
Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
Add support for generic receive offload.
Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
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 -
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 -
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 -
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 receiverSigned-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
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 -
Reset more parts of the receive path when device is take offline.
Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
This unblocks the chip if it is stuck in pause cycle during
shutdown.Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
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 -
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 -
-- 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 -
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 versionSigned-off-by: Grant Likely
Signed-off-by: David S. Miller -
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 -
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