22 Mar, 2009

23 commits

  • Fix compiler warning about non-const format string.

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

    Stephen Hemminger
     
  • Protocols should be able to use constant value for the descriptor.
    Minor whitespace cleanup as well

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

    Stephen Hemminger
     
  • The igb driver was using map_single to map the skbs and then unmap_page to
    unmap them. This update changes that so instead uses skb_dma_map and
    skb_dma_unmap.

    In addition the next_to_watch member of the buffer_info struct was being
    set uneccesarily. I removed the spots where it was set without being needed.

    Signed-off-by: Alexander Duyck
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Alexander Duyck
     
  • Currently if there are no multicast addresses programmed into the PF then
    the VFs cannot have their multicast filters reset. This change makes it so
    the code path that updates vf multicast is always called along with the pf
    updates.

    Signed-off-by: Alexander Duyck
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Alexander Duyck
     
  • igb was previously setting up all of the timer members itself. It is
    easier to just call setup_timer and reduce the calls to one line.

    Signed-off-by: Alexander Duyck
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Alexander Duyck
     
  • This patch removes IGB_DESC_UNUSED and replaces it with a function call
    instead in order to cleanup some of the ugliness introduced by the macro.

    Signed-off-by: Alexander Duyck
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Alexander Duyck
     
  • When the 82575 is fed 802.1q packets, it chokes with
    an error of the form:

    igb 0000:08:00.1 partial checksum but proto=81!

    As the logic there was not smart enough to look into
    the vlan header to pick out the encapsulated protocol.

    There are times when we'd like to send these packets
    out without having to configure a vlan on the interface.
    Here we check for the vlan tag and allow the packet to
    go out with the correct hardware checksum.

    Thanks to Kand Ly for discovering the
    issue and the coming up with a solution. This patch is
    based upon his work.

    Signed-off-by: Arthur Jones
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Arthur Jones
     
  • Signed-off-by: Yang Hongyang
    Signed-off-by: David S. Miller

    Yang Hongyang
     
  • Hi,

    IBM EMAC driver performs device reset (drivers/net/ibm_newemac/core.c:
    emac_probe() -> emac_init_phy() -> emac_reset()) before registering
    appropriate net_device (emac_probe() -> register_netdev()), so
    net_device name contains raw format string during EMAC reset ("eth%d").

    If the case of reset timeout, emac_report_timeout_error() function is
    called to report an error. The problem is this function uses net_device
    name to report device related, which is not correct, as a result in the
    kernel log buffer we see:

    eth%d: reset timeout

    The solution is to print device_node full_name instead. After applying
    the patch proposed, error string is like the following:

    /plb/opb/ethernet@ef600e00: reset timeout

    Signed-off-by: Mikhail Zolotaryov
    Acked-by: Benjamin Herrenschmidt
    Signed-off-by: David S. Miller

    Mikhail Zolotaryov
     
  • There is no gain using prefetch() in dev_hard_start_xmit(), since
    we already had to read ops->ndo_select_queue pointer in dev_pick_tx(),
    and both pointers are probably located in the same cache line.

    This prefetch call slows down fast path because of a stall in address
    computation.

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

    Eric Dumazet
     
  • Remove 2 TEST_FRAME hacks that are no longer needed. These allowed
    sctp regression tests to compile before, but are no longer needed.

    Signed-off-by: Vlad Yasevich
    Signed-off-by: David S. Miller

    Vlad Yasevich
     
  • Convert ixgbe to use net_device_ops properly.
    Rather than changing the select_queue function pointer
    just check the flag.

    Signed-off-by: Stephen Hemminger
    Acked-by: Peter P Waskiewicz Jr
    Signed-off-by: David S. Miller

    Stephen Hemminger
     
  • Some minor changes to queue hashing:
    1. Use const on accessor functions
    2. Export skb_tx_hash for use in drivers (see ixgbe)

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

    Stephen Hemminger
     
  • Rather than calling device pointer directly (which is incorrect with
    net_device_ops), use the standard dev_change_mtu. Compile tested only.

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

    Stephen Hemminger
     
  • tcp_sack_swap seems unnecessary so I pushed swap to the caller.
    Also removed comment that seemed then pointless, and added include
    when not already there. Compile tested.

    Signed-off-by: Ilpo Järvinen
    Signed-off-by: David S. Miller

    Ilpo Järvinen
     
  • A zero length frame filter was recently introduced in ROSE protocole.
    Previous commit makes the same at AX25 protocole level.
    This patch has the same purpose for NetRom protocole.
    The reason is that empty frames have no meaning in NetRom protocole.

    Signed-off-by: Bernard Pidoux
    Signed-off-by: David S. Miller

    Bernard Pidoux
     
  • In previous commit 244f46ae6e9e18f6fc0be7d1f49febde4762c34b
    was introduced a zero length frame filter for ROSE protocole.
    This patch has the same purpose at AX25 frame level for the same
    reason. Empty frames have no meaning in AX25 protocole.

    Signed-off-by: Bernard Pidoux
    Signed-off-by: David S. Miller

    Bernard Pidoux
     
  • This patch condenses two debug messages in one.

    Signed-off-by: Bernard Pidoux
    Signed-off-by: David S. Miller

    Bernard Pidoux
     
  • commit 1577ecef766650a57fceb171acee2b13cbfaf1d3 ("netdev: Merge UCC
    and gianfar MDIO bus drivers") broke the TSEC TBI PHY support: the
    driver now refuses to probe TBI MDIO buses as it doesn't know about
    "fsl,gianfar-tbi" compatible entry, and thus _probe() fails with
    -ENODEV status.

    Fix this by adding "fsl,gianfar-tbi" to the list of known Gianfar
    MDIO buses.

    Signed-off-by: Anton Vorontsov
    Acked-by: Andy Fleming
    Signed-off-by: David S. Miller

    Anton Vorontsov
     
  • reorder struct inet6_ifaddr to remove padding on 64 bit builds

    remove 8 bytes of padding so inet6_ifaddr becomes 192 bytes & fits into
    a smaller slab.

    Signed-off-by: Richard Kennedy
    Signed-off-by: David S. Miller

    Richard Kennedy
     
  • commit 4826857f1bf07f9c0f1495e9b05d125552c88a85 ("gianfar: pass the
    proper dev to DMA ops") introduced this build breakage:

    CC drivers/net/gianfar.o
    drivers/net/gianfar.c: In function 'gfar_suspend':
    drivers/net/gianfar.c:552: error: 'struct gfar_private' has no member named 'dev'
    drivers/net/gianfar.c: In function 'gfar_resume':
    drivers/net/gianfar.c:601: error: 'struct gfar_private' has no member named 'dev'
    make[2]: *** [drivers/net/gianfar.o] Error 1

    Fix this by converting suspend and resume routines to use
    gfar_private->ndev.

    Signed-off-by: Anton Vorontsov
    Acked-by: Kumar Gala
    Signed-off-by: David S. Miller

    Anton Vorontsov
     
  • This patch enables support for the new Intel 82552 adapter (new PHY paired
    with the existing MAC in the ICH7 chipset). No new features are added to
    the driver, however there are minor changes due to updated registers and a
    few workarounds for hardware errata.

    Signed-off-by: Bruce Allan
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Bruce Allan
     
  • David S. Miller
     

21 Mar, 2009

1 commit

  • When merging into Jeff's tree:

    commit 5f66f208064f083aab5e55935d0575892e033b59
    Author: Arthur Jones
    Date: Thu Mar 19 01:13:08 2009 +0000

    e1000e: allow tx of pre-formatted vlan tagged packets

    We lost one line, this fixes that missing
    piece...

    Signed-off-by: Arthur Jones
    Signed-off-by: David S. Miller

    Arthur Jones
     

20 Mar, 2009

16 commits

  • Conflicts:
    drivers/net/virtio_net.c

    David S. Miller
     
  • dev_queue_xmit() needs to dirty fields "state", "q", "bstats" and "qstats"

    On x86_64 arch, they currently span three cache lines, involving more
    cache line ping pongs than necessary, making longer holding of queue spinlock.

    We can reduce this to one cache line, by grouping all read-mostly fields
    at the beginning of structure. (Or should I say, all highly modified fields
    at the end :) )

    Before patch :

    offsetof(struct Qdisc, state)=0x38
    offsetof(struct Qdisc, q)=0x48
    offsetof(struct Qdisc, bstats)=0x80
    offsetof(struct Qdisc, qstats)=0x90
    sizeof(struct Qdisc)=0xc8

    After patch :

    offsetof(struct Qdisc, state)=0x80
    offsetof(struct Qdisc, q)=0x88
    offsetof(struct Qdisc, bstats)=0xa0
    offsetof(struct Qdisc, qstats)=0xac
    sizeof(struct Qdisc)=0xc0

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

    Eric Dumazet
     
  • Removed duplicated #include in drivers/net/dnet.c.

    Signed-off-by: Huang Weiyi
    Signed-off-by: David S. Miller

    Huang Weiyi
     
  • The watchdog will schedule an interrupt to help make sure queues are
    cleaned in the case when an interrupt is missed, most likely due to very
    high load. On 82599, there are extra interrupt registers to account for
    the larger number of MSI-X vectors (64 total for 82599 vs. 18 total for
    82598). These must be taken into account when performing this operation in
    the watchdog.

    Signed-off-by: Jesse Brandeburg
    Signed-off-by: Peter P Waskiewicz Jr
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Jesse Brandeburg
     
  • ethtool isn't reporting the support level of WoL for 82599 KX4 devices.
    While the device does support WoL, ethtool was never updated to properly
    report the level of support, nor will it allow ethtool to modify the type
    of packets to listen for.

    Signed-off-by: Peter P Waskiewicz Jr
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    PJ Waskiewicz
     
  • 82598's PCI bus reporting on driver load was broken after 82599 merged.
    This results in incorrect reporting, and an erroneous warning message
    that the 82598 is in a PCIe slot that isn't fast enough to run 10GbE.

    Signed-off-by: Peter P Waskiewicz Jr
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    PJ Waskiewicz
     
  • This code updates ixgb so that it can use the skb_dma_map/unmap functions
    to map the buffers. In addition it also updates the tx hang logic to use
    time_stamp instead of dma to determine if it has detected a tx hang.

    Signed-off-by: Alexander Duyck
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Alexander Duyck
     
  • As with igb, when the e1000e driver is fed 802.1q
    packets with hardware checksum on, it chokes with an
    error of the form:

    checksum_partial proto=81!

    As the logic there was not smart enough to look into
    the vlan header to pick out the encapsulated protocol.

    There are times when we'd like to send these packets
    out without having to configure a vlan on the interface.
    Here we check for the vlan tag and allow the packet to
    go out wiht the correct hardware checksum.

    Thanks to Kand Ly for discovering the
    issue and the coming up with a solution. This patch is
    based upon his work.

    Fixups from Stephen Hemminger and
    Alexander Duyck

    Signed-off-by: Arthur Jones
    Signed-off-by: Jeff Kirsher
    CC: Stephen Hemminger
    CC: Alexander Duyck
    Signed-off-by: David S. Miller

    Arthur Jones
     
  • There were a few issues I noticed in e1000e. These include a double free
    of the skb if mapping fails, and the fact that context descriptors appear
    to be left in the descriptor ring after the failure.

    Signed-off-by: Alexander Duyck
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Alexander Duyck
     
  • Add device ID and related support for 82583 mac.

    Signed-off-by: Alexander Duyck
    Acked-by: Radheka Godse
    Acked-by: Bruce Allan
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Alexander Duyck
     
  • The cpu_to_le16 here looks suspicious to me, I don't think we need it
    because put_unaligned_le16 also does this.

    I don't currently have any big endian hardware with a PCI bus available
    to test on, so I haven't been able to verify this.

    Signed-off-by: Steve Glendinning
    Signed-off-by: David S. Miller

    Steve Glendinning
     
  • Signed-off-by: David S. Miller

    David S. Miller
     
  • This patch replaces the generic eth_mac_addr function with one that
    also updates the hardware mac address registers. It also renames the
    existing smsc911x_set_mac_address function to
    smsc911x_hw_set_mac_address for clarity.

    Newer LAN911x and all LAN921x devices also support changing the mac
    address while the device is running, which is useful for some bonding
    modes.

    Signed-off-by: Steve Glendinning
    Signed-off-by: David S. Miller

    Steve Glendinning
     
  • Signed-off-by: Steve Glendinning
    Signed-off-by: David S. Miller

    Steve Glendinning
     
  • The vast majority of bit constants in this driver are defined in the
    header file, but TX and RX status word bits are not. This patch (which
    should make no functional change) defines these, to make the driver
    slightly more readable.

    Signed-off-by: Steve Glendinning
    Signed-off-by: David S. Miller

    Steve Glendinning
     
  • To improve manageability, it would be good to be able to disambiguate routes
    added by administrator from those added by DHCP client. The only necessary
    kernel change is to add value to rtnetlink include file so iproute2 utility
    can use it.

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

    Stephen Hemminger