16 Oct, 2007

36 commits

  • Protect all new napi function calls with CONFIG_GFAR_NAPI. Otherwise
    the driver will stop working when CONFIG_GFAR_NAPI disabled.

    Signed-off-by: Li Yang
    Signed-off-by: Jeff Garzik

    Li Yang
     
  • Signed-off-by: Li Yang
    Signed-off-by: Jeff Garzik

    Li Yang
     
  • Signed-off-by: Li Yang
    Signed-off-by: Jeff Garzik

    Li Yang
     
  • Add new prom.h for AU1x00.

    Signed-off-by: Yoichi Yuasa
    Acked-by: Ralf Baechle
    Signed-off-by: Jeff Garzik

    Yoichi Yuasa
     
  • Update AU1000 get_ethernet_addr().
    Three functions were brought together in one.

    Signed-off-by: Yoichi Yuasa
    Acked-by: Ralf Baechle
    Signed-off-by: Jeff Garzik

    Yoichi Yuasa
     
  • General cleanups mostly as suggested by checkpatch plus getting rid of
    homebrew version of offsetof().

    Signed-off-by: Ralf Baechle
    Signed-off-by: Jeff Garzik

    Ralf Baechle
     
  • Caused by "[NET]: Introduce and use print_mac() and DECLARE_MAC_BUF()"
    aka 0795af5729b18218767fab27c44b1384f72dc9ad.

    Signed-off-by: Ralf Baechle
    Signed-off-by: Jeff Garzik

    Ralf Baechle
     
  • msic_dcr_read() doesn't really do anything useful, just replace it with
    direct calls to dcr_read().

    Signed-off-by: Michael Ellerman
    Signed-off-by: Jeff Garzik

    Michael Ellerman
     
  • With the base stored in dcr_host_t, there's no need for callers to pass
    the dcr_n into dcr_unmap(). In fact this removes the possibility of them
    passing the incorrect value, which would then be iounmap()'ed.

    Signed-off-by: Michael Ellerman
    Signed-off-by: Jeff Garzik

    Michael Ellerman
     
  • Now that all users of dcr_read()/dcr_write() add the dcr_host_t.base, we
    can save them the trouble and do it in dcr_read()/dcr_write().

    As some background to why we just went through all this jiggery-pokery,
    benh sayeth:

    Initially the goal of the dcr_read/dcr_write routines was to operate like
    mfdcr/mtdcr which take absolute DCR numbers. The reason is that on 4xx
    hardware, indirect DCR access is a pain (goes through a table of
    instructions) and it's useful to have the compiler resolve an absolute DCR
    inline.

    We decided that wasn't worth the API bastardisation since most places
    where absolute DCR values are used are low level 4xx-only code which may
    as well continue using mfdcr/mtdcr, while the new API is designed for
    device "instances" that can exist on 4xx and Axon type platforms and may
    be located at variable DCR offsets.

    Signed-off-by: Michael Ellerman
    Signed-off-by: Jeff Garzik

    Michael Ellerman
     
  • This requires us to do a sort-of fake dcr_map(), so that base is set
    properly. This will be fixed/removed when the device-tree-aware emac driver
    is merged.

    Signed-off-by: Michael Ellerman
    Signed-off-by: Jeff Garzik

    Michael Ellerman
     
  • Now that dcr_host_t contains the base address, we can use that in the
    ibm_newemac code, rather than storing it separately.

    Signed-off-by: Michael Ellerman
    Signed-off-by: Jeff Garzik

    Michael Ellerman
     
  • If pci_enable_device fails, bdx_probe returns without freeing the
    allocated pci_nic structure.

    Coverity CID 1908.

    Signed-off-by: Florin Malita
    Signed-off-by: Jeff Garzik

    Florin Malita
     
  • bea3348eef27e6044b6161fd04c3152215f96411 broke the build of tc35815.c
    for the non-NAPI case:

    CC drivers/net/tc35815.o
    drivers/net/tc35815.c: In function 'tc35815_interrupt':
    drivers/net/tc35815.c:1464: error: redefinition of 'lp'
    drivers/net/tc35815.c:1443: error: previous definition of 'lp' was here

    Signed-off-by: Ralf Baechle
    Signed-off-by: Jeff Garzik

    Ralf Baechle
     
  • Fix build breakage by the recent statistics cleanup in cset
    09f75cd7bf13720738e6a196cc0107ce9a5bd5a0.

    Signed-off-by: Ralf Baechle
    Signed-off-by: Jeff Garzik

    Ralf Baechle
     
  • New version which uses less locking and drops old API

    Signed-off-by: Matteo Croce
    Signed-off-by: Eugene Konev
    Signed-off-by: Felix Fietkau
    Signed-off-by: Jeff Garzik

    Matteo Croce
     
  • The myri10ge driver is now at version 1.3.2-1.287.

    Signed-off-by: Brice Goglin
    Signed-off-by: Jeff Garzik

    Brice Goglin
     
  • Add support for IPv6 TSO to the myri10ge driver.

    Signed-off-by: Brice Goglin
    Signed-off-by: Jeff Garzik

    Brice Goglin
     
  • Add skb_is_gso_v6().

    Signed-off-by: Brice Goglin
    Signed-off-by: Jeff Garzik

    Brice Goglin
     
  • Update myri10ge firmware headers to latest upstream version with
    TSO6 and RSS support.

    Signed-off-by: Brice Goglin
    Signed-off-by: Jeff Garzik

    Brice Goglin
     
  • Fix one comment in myri10ge.c and update indendation and white spaces
    to match the code generated by indent from upstream CVS.

    Signed-off-by: Brice Goglin
    Signed-off-by: Jeff Garzik

    Brice Goglin
     
  • Update the "don't change MAC of slaves" functionality added in
    previous changes to be a generic option, rather than something tied to
    IB devices, as it's occasionally useful for regular ethernet devices as
    well.

    Adds "fail_over_mac" option (which is automatically enabled for IB
    slaves), applicable only to active-backup mode.

    Includes documentation update.

    Updates bonding driver version to 3.2.0.

    Signed-off-by: Jay Vosburgh
    Signed-off-by: Jeff Garzik

    Jay Vosburgh
     
  • When bonding enslaves non Ethernet devices it takes pointers to functions
    in the module that owns the slaves. In this case it becomes unsafe
    to keep the bonding master registered after last slave was unenslaved
    because we don't know if the pointers are still valid. Destroying the bond when slave_cnt is zero
    ensures that these functions be used anymore.

    Signed-off-by: Moni Shoua
    Acked-by: Jay Vosburgh
    Signed-off-by: Jeff Garzik

    Moni Shoua
     
  • Delay sending a gratuitous_arp when LINK_STATE_LINKWATCH_PENDING bit
    in dev->state field is on. This improves the chances for the arp packet to
    be transmitted.

    Signed-off-by: Moni Shoua
    Acked-by: Jay Vosburgh
    Signed-off-by: Jeff Garzik

    Moni Shoua
     
  • bonding sometimes uses Ethernet constants (such as MTU and address length) which
    are not good when it enslaves non Ethernet devices (such as InfiniBand).

    Signed-off-by: Moni Shoua
    Acked-by: Jay Vosburgh
    Signed-off-by: Jeff Garzik

    Moni Shoua
     
  • Allow to enslave devices when the bonding device is not up. Over the discussion
    held at the previous post this seemed to be the most clean way to go, where it
    is not expected to cause instabilities.

    Normally, the bonding driver is UP before any enslavement takes place.
    Once a netdevice is UP, the network stack acts to have it join some multicast groups
    (eg the all-hosts 224.0.0.1). Now, since ether_setup() have set the bonding device
    type to be ARPHRD_ETHER and address len to be ETHER_ALEN, the net core code
    computes a wrong multicast link address. This is b/c ip_eth_mc_map() is called
    where for multicast joins taking place after the enslavement another ip_xxx_mc_map()
    is called (eg ip_ib_mc_map() when the bond type is ARPHRD_INFINIBAND)

    Signed-off-by: Moni Shoua
    Signed-off-by: Or Gerlitz
    Acked-by: Jay Vosburgh
    Signed-off-by: Jeff Garzik

    Moni Shoua
     
  • This patch allows for enslaving netdevices which do not support
    the set_mac_address() function. In that case the bond mac address is the one
    of the active slave, where remote peers are notified on the mac address
    (neighbour) change by Gratuitous ARP sent by bonding when fail-over occurs
    (this is already done by the bonding code).

    Signed-off-by: Moni Shoua
    Signed-off-by: Or Gerlitz
    Acked-by: Jay Vosburgh
    Signed-off-by: Jeff Garzik

    Moni Shoua
     
  • This patch changes some of the bond netdevice attributes and functions
    to be that of the active slave for the case of the enslaved device not being
    of ARPHRD_ETHER type. Basically it overrides those setting done by ether_setup(),
    which are netdevice **type** dependent and hence might be not appropriate for
    devices of other types. It also enforces mutual exclusion on bonding slaves
    from dissimilar ether types, as was concluded over the v1 discussion.

    IPoIB (see Documentation/infiniband/ipoib.txt) MAC address is made of a 3 bytes
    IB QP (Queue Pair) number and 16 bytes IB port GID (Global ID) of the port this
    IPoIB device is bounded to. The QP is a resource created by the IB HW and the
    GID is an identifier burned into the HCA (i have omitted here some details which
    are not important for the bonding RFC).

    Signed-off-by: Moni Shoua
    Signed-off-by: Or Gerlitz
    Acked-by: Jay Vosburgh
    Signed-off-by: Jeff Garzik

    Moni Shoua
     
  • When the bonding device senses a carrier loss of its active slave it replaces
    that slave with a new one. In between the times when the carrier of an IPoIB
    device goes down and ipoib_neigh is destroyed, it is possible that the
    bonding driver will send a packet on a new slave that uses an old ipoib_neigh.
    This patch detects and prevents this from happenning.

    Signed-off-by: Moni Shoua
    Signed-off-by: Or Gerlitz
    Acked-by: Roland Dreier
    Signed-off-by: Jeff Garzik

    Moni Shoua
     
  • IPoIB uses a two layer neighboring scheme, such that for each struct neighbour
    whose device is an ipoib one, there is a struct ipoib_neigh buddy which is
    created on demand at the tx flow by an ipoib_neigh_alloc(skb->dst->neighbour)
    call.

    When using the bonding driver, neighbours are created by the net stack on behalf
    of the bonding (master) device. On the tx flow the bonding code gets an skb such
    that skb->dev points to the master device, it changes this skb to point on the
    slave device and calls the slave hard_start_xmit function.

    Under this scheme, ipoib_neigh_destructor assumption that for each struct
    neighbour it gets, n->dev is an ipoib device and hence netdev_priv(n->dev)
    can be casted to struct ipoib_dev_priv is buggy.

    To fix it, this patch adds a dev field to struct ipoib_neigh which is used
    instead of the struct neighbour dev one, when n->dev->flags has the
    IFF_MASTER bit set.

    Signed-off-by: Moni Shoua
    Signed-off-by: Or Gerlitz
    Acked-by: Roland Dreier
    Signed-off-by: Jeff Garzik

    Moni Shoua
     
  • pci_enable_device() is __must_check so do that in natsemi_resume().

    Signed-off-by: Mark Brown
    Signed-off-by: Jeff Garzik

    Mark Brown
     
  • Unless we have failed to fill the RX ring the timer used by the natsemi
    driver is not particularly urgent and can use round_jiffies() to allow
    grouping with other timers.

    Signed-off-by: Mark Brown
    Signed-off-by: Jeff Garzik

    Mark Brown
     
  • * git://git.linux-nfs.org/pub/linux/nfs-2.6: (131 commits)
    NFSv4: Fix a typo in nfs_inode_reclaim_delegation
    NFS: Add a boot parameter to disable 64 bit inode numbers
    NFS: nfs_refresh_inode should clear cache_validity flags on success
    NFS: Fix a connectathon regression in NFSv3 and NFSv4
    NFS: Use nfs_refresh_inode() in ops that aren't expected to change the inode
    SUNRPC: Don't call xprt_release in call refresh
    SUNRPC: Don't call xprt_release() if call_allocate fails
    SUNRPC: Fix buggy UDP transmission
    [23/37] Clean up duplicate includes in
    [2.6 patch] net/sunrpc/rpcb_clnt.c: make struct rpcb_program static
    SUNRPC: Use correct type in buffer length calculations
    SUNRPC: Fix default hostname created in rpc_create()
    nfs: add server port to rpc_pipe info file
    NFS: Get rid of some obsolete macros
    NFS: Simplify filehandle revalidation
    NFS: Ensure that nfs_link() returns a hashed dentry
    NFS: Be strict about dentry revalidation when doing exclusive create
    NFS: Don't zap the readdir caches upon error
    NFS: Remove the redundant nfs_reval_fsid()
    NFSv3: Always use directory post-op attributes in nfs3_proc_lookup
    ...

    Fix up trivial conflict due to sock_owned_by_user() cleanup manually in
    net/sunrpc/xprtsock.c

    Linus Torvalds
     
  • …peterz/linux-2.6-lockdep

    * 'v2.6.24-lockdep' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep:
    lockdep: annotate dir vs file i_mutex
    lockdep: per filesystem inode lock class
    lockdep: annotate kprobes irq fiddling
    lockdep: annotate rcu_read_{,un}lock{,_bh}
    lockdep: annotate journal_start()
    lockdep: s390: connect the sysexit hook
    lockdep: x86_64: connect the sysexit hook
    lockdep: i386: connect the sysexit hook
    lockdep: syscall exit check
    lockdep: fixup mutex annotations
    lockdep: fix mismatched lockdep_depth/curr_chain_hash
    lockdep: Avoid /proc/lockdep & lock_stat infinite output
    lockdep: maintainers

    Linus Torvalds
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] update sn2_defconfig
    [IA64] Fix kernel hangup in kdump on INIT
    [IA64] Fix kernel panic in kdump on INIT
    [IA64] Remove vector from ia64_machine_kexec()
    [IA64] Fix race when multiple cpus go through MCA
    [IA64] Remove needless delay in MCA rendezvous
    [IA64] add driver for ACPI methods to call native firmware
    [IA64] abstract SAL_CALL wrapper to allow other firmware entry points
    [IA64] perfmon: Remove exit_pfm_fs()
    [IA64] tree-wide: Misc __cpu{initdata, init, exit} annotations

    Linus Torvalds
     
  • Commit 5a7ad7f044941316dc98eda2a087a12a7a50649d removed all uses of
    'retval', but didn't remove the variable itself.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

15 Oct, 2007

4 commits

  • Update defonfig file for sn2 to match recent changes in config options.

    Signed-off-by: Jes Sorensen
    Signed-off-by: Tony Luck

    Jes Sorensen
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched: (140 commits)
    sched: sync wakeups preempt too
    sched: affine sync wakeups
    sched: guest CPU accounting: maintain guest state in KVM
    sched: guest CPU accounting: maintain stats in account_system_time()
    sched: guest CPU accounting: add guest-CPU /proc//stat fields
    sched: guest CPU accounting: add guest-CPU /proc/stat field
    sched: domain sysctl fixes: add terminator comment
    sched: domain sysctl fixes: do not crash on allocation failure
    sched: domain sysctl fixes: unregister the sysctl table before domains
    sched: domain sysctl fixes: use for_each_online_cpu()
    sched: domain sysctl fixes: use kcalloc()
    Make scheduler debug file operations const
    sched: enable wake-idle on CONFIG_SCHED_MC=y
    sched: reintroduce topology.h tunings
    sched: allow the immediate migration of cache-cold tasks
    sched: debug, improve migration statistics
    sched: debug: increase width of debug line
    sched: activate task_hot() only on fair-scheduled tasks
    sched: reintroduce cache-hot affinity
    sched: speed up context-switches a bit
    ...

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (207 commits)
    [SCSI] gdth: fix CONFIG_ISA build failure
    [SCSI] esp_scsi: remove __dev{init,exit}
    [SCSI] gdth: !use_sg cleanup and use of scsi accessors
    [SCSI] gdth: Move members from SCp to gdth_cmndinfo, stage 2
    [SCSI] gdth: Setup proper per-command private data
    [SCSI] gdth: Remove gdth_ctr_tab[]
    [SCSI] gdth: switch to modern scsi host registration
    [SCSI] gdth: gdth_interrupt() gdth_get_status() & gdth_wait() fixes
    [SCSI] gdth: clean up host private data
    [SCSI] gdth: Remove virt hosts
    [SCSI] gdth: Reorder scsi_host_template intitializers
    [SCSI] gdth: kill gdth_{read,write}[bwl] wrappers
    [SCSI] gdth: Remove 2.4.x support, in-kernel changelog
    [SCSI] gdth: split out pci probing
    [SCSI] gdth: split out eisa probing
    [SCSI] gdth: split out isa probing
    gdth: Make one abuse of scsi_cmnd less obvious
    [SCSI] NCR5380: Use scsi_eh API for REQUEST_SENSE invocation
    [SCSI] usb storage: use scsi_eh API in REQUEST_SENSE execution
    [SCSI] scsi_error: Refactoring scsi_error to facilitate in synchronous REQUEST_SENSE
    ...

    Linus Torvalds
     
  • * 'agp-patches' of master.kernel.org:/pub/scm/linux/kernel/git/airlied/agp-2.6:
    fix use after free in amd create gatt pages
    AGP fix race condition between unmapping and freeing pages

    Linus Torvalds