commit 0541743b4b35f2ddc9e490b4e354930168b60d23
Author: RongQing.Li <roy.qing.li@gmail.com>
Date:   Tue Feb 21 22:10:50 2012 +0000

    ethernet/broadcom: ip6_route_output() never returns NULL.
    
    ip6_route_output() never returns NULL, so it is wrong to
    check if the return value is NULL.
    
    Signed-off-by: RongQing.Li <roy.qing.li@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit e65de0716f4fb72b09fb37f603b71f4eabe18322
Author: Michael Chan <mchan@broadcom.com>
Date:   Mon Feb 20 09:59:10 2012 +0000

    cnic: update for FW 7.2.xx
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 4cbbb04dc115423682349aa7466c8aeead825140
Author: Eddie Wai <eddie.wai@broadcom.com>
Date:   Wed Feb 8 17:33:57 2012 +0000

    cnic: Update VLAN ID during ISCSI_UEVENT_PATH_UPDATE
    
    This will support the new VLAN attribute in the iSCSI iface file.
    
    Signed-off-by: Eddie Wai <eddie.wai@broadcom.com>
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 0cb1f4b96092b9d91d4e50d5c77b424745cd1102
Author: Jeffrey Huang <huangjw@broadcom.com>
Date:   Wed Feb 8 17:33:56 2012 +0000

    cnic: set error flag when iSCSI connection fails
    
    to speed up error recovery due to SPQ failures.  The error flag will
    expedite the recovery process by skipping the timeouts.
    
    Signed-off-by: Jeffrey Huang <huangjw@broadcom.com>
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 3238a9be4d7ad95c741bcfe6c147406eeef62d95
Author: Michael Chan <mchan@broadcom.com>
Date:   Sun Feb 5 15:24:40 2012 +0000

    cnic: Add FCoE parity error recovery
    
    When bnx2x returns error on FCoE SPQ messages, generate an error
    completion to bnx2fc immediately to speed up error recovery.  This
    will eliminate length timeouts and spped up the reset of the device.
    
    Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 23021c21055f88a428b6deb6f803fa0d659e023f
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Jan 4 12:12:28 2012 +0000

    cnic: Improve error recovery on bnx2x devices
    
    When a bnx2x device encounters parity errors, it will not respond to all
    SPQ messages.  As a result, the shutdown sequence before reset can take
    a long time as the ulp drivers (bnx2i/bnx2fc) have to wait for timeout
    of all such messages.
    
    To improve this scenario, when bnx2x returns error on the SPQ, we'll send
    an immediate response to the ulp drivers to avoid such lengthy timeouts.
    
    Adjust the return code of relevant functions to return error only if
    the message cannot be sent on the SPQ so that we'll generate an error
    completion to the ulp drivers.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit a9e0a4f2ca5e97ae2cff0bda72b9645e047c1a3d
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Jan 4 12:12:27 2012 +0000

    cnic: Re-init dev->stats_addr after chip reset
    
    because bnx2x frees the old and allocates new memory during chip reset.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 1d187b34daaecbb87aa523ba46b92930a388cb21
Author: Barak Witkowski <barak@broadcom.com>
Date:   Mon Dec 5 22:41:50 2011 +0000

    bnx2x, cnic: support DRV_INFO upon FW request
    
    Add support to send driver capabilities, settings and statistics to
    management firmware.
    
    [ Redone using many local variables, removed many unnecessary inlines,
      and put #defines at the left margin suggested by Joe Perches ]
    
    Signed-off-by: Barak Witkowski <barak@broadcom.com>
    Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
    Signed-off-by: Eddie Wai <eddie.wai@broadcom.com>
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 2cfa5a0471fef43fda0b7bd87e3a5e4dbadb7809
commit 2cfa5a0471fef43fda0b7bd87e3a5e4dbadb7809
Author: Eric Dumazet <eric.dumazet@gmail.com>
Date:   Wed Nov 23 07:09:32 2011 +0000

    net: treewide use of RCU_INIT_POINTER
    
    rcu_assign_pointer(ptr, NULL) can be safely replaced by
    RCU_INIT_POINTER(ptr, NULL)
    
    (old rcu_assign_pointer() macro was testing the NULL value and could
    omit the smp_wmb(), but this had to be removed because of compiler
    warnings)
    
    Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 4e3fd7a06dc20b2d8ec6892233ad2012968fe7b6
Author: Alexey Dobriyan <adobriyan@gmail.com>
Date:   Mon Nov 21 03:39:03 2011 +0000

    net: remove ipv6_addr_copy()
    
    C assignment can handle struct in6_addr copying.
    
    Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit dcc7e3a6a2a2464cf96dee329f7c58fe8c230d97
Author: Michael Chan <mchan@broadcom.com>
Date:   Fri Aug 26 09:45:40 2011 +0000

    cnic: Add timeout for ramrod replies.
    
    If the bnx2x device has encountered parity errors, the chip will not DMA
    any replies.  Using wait_event_timeout() will allow us to make forward
    progress and let bnx2x reset the chip.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Reviewed-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit dc219a2e4812eecdc5438d2a0e2434b03d3efbf2
Author: Michael Chan <mchan@broadcom.com>
Date:   Fri Aug 26 09:45:39 2011 +0000

    cnic, bnx2fc: Increase maximum FCoE sessions.
    
    Increase it to NVRAM configured limit or 1024 whichever is less.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 415199f2bd977fa4065d4e836b4b7543f7993bc3
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Jul 20 14:55:24 2011 +0000

    cnic: Add VLAN ID as a parameter during netevent upcall
    
    The bnx2fc driver needs to handle netdev events on VLAN devices.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Reviewed-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 74e49bbdabbac34c77b280152b1de9bef9bf9be7
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Jul 20 14:55:23 2011 +0000

    cnic: Wait for all Context IDs to be deleted before sending FCOE_DESTROY_FUNC
    
    Otherwise, the firmware will not respond and we'll have to wait for
    timeout.  Refactor the wait loop we already have into a separate
    function for this purpose.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Reviewed-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit b37a41e390310429d4171b0f7b6c6eab04512dc0
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Jul 20 14:55:22 2011 +0000

    cnic: Fix Context ID space calculation
    
    Include FCoE CID space only for E2_PLUS devices.  Remove old CID
    offset adjustments that are no longer needed.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Reviewed-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 558e4c758c4c7bf209325f5865189c6558860b2b
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Jul 13 17:24:20 2011 +0000

    cnic: Return proper error code if we fail to send netlink message
    
    to allow iSCSI connection to fail faster instead of waiting for the
    long timeout.
    
    Update version to 2.5.6.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Reviewed-by: Matt Carlson <mcarlson@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit e1dd883cb15310dc2ded9995a1f1d8b1cb1e88f3
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Jul 13 17:24:19 2011 +0000

    cnic: Fix ring setup/shutdown code
    
    Latest bnx2x driver uses different CID for the iSCSI rings, so
    we need to pass it in the ring init data.  The rx ring is also
    zeroed out to prevent stale DMA addresses from being used after
    shutdown.
    
    The same cp local variable redefined inside the else branch is
    also eliminated.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit b7d40315c9643034ac4b5c9dda480d0124416f89
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Jul 13 17:24:18 2011 +0000

    cnic: Fix port_mode setting
    
    CHIP_2_PORT_MODE was not set correctly.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Reviewed-by: Matt Carlson <mcarlson@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 973e574e26cc8f4704e5d7f112fd566386e37f04
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Jul 13 17:24:17 2011 +0000

    cnic: Replace get_random_bytes() with random32()
    
    Suggested by Stephen Hemminger <shemminger@vyatta.com>
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Reviewed-by: Matt Carlson <mcarlson@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit f4b5ad26bcb983c493e131ff34b2fa60100c82e5
Author: Michael Chan <mchan@broadcom.com>
Date:   Mon Jun 20 15:15:56 2011 +0000

    cnic, bnx2i: Add support for new devices - 57800, 57810, and 57840
    
    And change iSCSI RQ doorbell size from 16B to 64B to match new firmware.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Eddie Wai <eddie.wai@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 43d620c82985b19008d87a437b4cf83f356264f7
Author: Joe Perches <joe@perches.com>
Date:   Thu Jun 16 19:08:06 2011 +0000

    drivers/net: Remove casts of void *
    
    Unnecessary casts of void * clutter the code.
    
    These are the remainder casts after several specific
    patches to remove netdev_priv and dev_priv.
    
    Done via coccinelle script (and a little editing):
    
    $ cat cast_void_pointer.cocci
    @@
    type T;
    T *pt;
    void *pv;
    @@
    
    - pt = (T *)pv;
    + pt = pv;
    
    Signed-off-by: Joe Perches <joe@perches.com>
    Acked-by: Sjur Brændeland <sjur.brandeland@stericsson.com>
    Acked-By: Chris Snook <chris.snook@gmail.com>
    Acked-by: Jon Mason <jdmason@kudzu.us>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Acked-by: David Dillow <dave@thedillows.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 619c5cb6885b936c44ae1422ef805b69c6291485
Author: Vlad Zolotarov <vladz@broadcom.com>
Date:   Tue Jun 14 14:33:44 2011 +0300

    New 7.0 FW: bnx2x, cnic, bnx2i, bnx2fc
    
    New FW/HSI (7.0):
     - Added support to 578xx chips
     - Improved HSI - much less driver's direct access to the FW internal
       memory needed.
    
    New implementation of the HSI handling layer in the bnx2x (bnx2x_sp.c):
     - Introduced chip dependent objects that have chip independent interfaces
       for configuration of MACs, multicast addresses, Rx mode, indirection table,
       fast path queues and function initialization/cleanup.
     - Objects functionality is based on the private function pointers, which
       allows not only a per-chip but also PF/VF differentiation while still
       preserving the same interface towards the driver.
     - Objects interface is not influenced by the HSI changes which do not require
       providing new parameters keeping the code outside the bnx2x_sp.c invariant
       with regard to such HSI chnages.
    
    Changes in a CNIC, bnx2fc and bnx2i modules due to the new HSI.
    
    Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
    Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
    Signed-off-by: David S. Miller <davem@conan.davemloft.net>

commit 59e5137357559ec60b2e72bdc3d5a7e22c47212b
Author: Michael Chan <mchan@broadcom.com>
Date:   Tue Jun 14 01:32:38 2011 +0000

    cnic: Move indexing function pointers to struct kcq_info
    
    The hardware indexing scheme for the FCoE kcq will change in the upcoming
    firmware.  This patch will cope with the change easily.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
    Signed-off-by: David S. Miller <davem@conan.davemloft.net>

commit 7625eb2f2fff7bfae41d3119b472c20b48874895
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Jun 8 19:29:36 2011 +0000

    cnic, bnx2: Check iSCSI support early in bnx2_init_one()
    
    Based on earlier patch from Neil Horman <nhorman@tuxdriver.com>
    
    If iSCSI is not supported on a bnx2 device, bnx2_cnic_probe() will
    return NULL and the cnic device will not be visible to bnx2i.  This
    will prevent bnx2i from registering and then unregistering during
    cnic_start() and cause the warning message:
    
    bnx2 0003:01:00.1: eth1: Failed waiting for ULP up call to complete
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Cc: Neil Horman <nhorman@tuxdriver.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit db1d350fcb156b58f66a67680617077bcacfe6fc
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Jun 8 19:29:35 2011 +0000

    cnic: Improve NETDEV_UP event handling
    
    During NETDEV_UP, we use symbol_get() to get the net driver's cnic
    probe function.  This sometimes doesn't work if NETDEV_UP happens
    right after NETDEV_REGISTER and the net driver is still running module
    init code.  As a result, the cnic device may not be discovered.  We
    fix this by probing on all NETDEV events if the device's netif_running
    state is up.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 11f23aa8ccd56786f0a6f04211cf59b3fab2ce08
Author: Eddie Wai <eddie.wai@broadcom.com>
Date:   Wed Jun 8 19:29:34 2011 +0000

    cnic: Randomize initial TCP port for iSCSI connections
    
    This reduces the likelihood of port re-use when re-loading the driver.
    
    Signed-off-by: Eddie Wai <eddie.wai@broadcom.com>
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 101c40c8cb0d10c30f423805f9f5b7a75956832d
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Jun 8 19:29:33 2011 +0000

    cnic: Fix race conditions with firmware
    
    During iSCSI connection terminations, if the target is also terminating
    at about the same time, the firmware may not complete the driver's
    request to close or reset the connection.  This is fixed by handling
    other events (instead of the expected completion event) as an indication
    that the driver's request has been rejected.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 93736656138e6d2f39f19c1d68f9ef81cfc9dd66
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Jun 8 19:29:32 2011 +0000

    cnic: Fix interrupt logic
    
    We need to keep looping until cnic_get_kcqes() returns 0.  cnic_get_kcqes()
    returns a maximum of 64 entries.  If there are more entries in the queue
    and we don't loop back, the remaining entries may not be serviced for a
    long time.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 70c71606190e9115e5f8363bfcd164c582eb314a
Author: Paul Gortmaker <paul.gortmaker@windriver.com>
Date:   Sun May 22 16:47:17 2011 -0400

    Add appropriate <linux/prefetch.h> include for prefetch users
    
    After discovering that wide use of prefetch on modern CPUs
    could be a net loss instead of a win, net drivers which were
    relying on the implicit inclusion of prefetch.h via the list
    headers showed up in the resulting cleanup fallout.  Give
    them an explicit include via the following $0.02 script.
    
     =========================================
     #!/bin/bash
     MANUAL=""
     for i in `git grep -l 'prefetch(.*)' .` ; do
     	grep -q '<linux/prefetch.h>' $i
     	if [ $? = 0 ] ; then
     		continue
     	fi
    
     	(	echo '?^#include <linux/?a'
     		echo '#include <linux/prefetch.h>'
     		echo .
     		echo w
     		echo q
     	) | ed -s $i > /dev/null 2>&1
     	if [ $? != 0 ]; then
     		echo $i needs manual fixup
     		MANUAL="$i $MANUAL"
     	fi
     done
     echo ------------------- 8\<----------------------
     echo vi $MANUAL
     =========================================
    
    Signed-off-by: Paul <paul.gortmaker@windriver.com>
    [ Fixed up some incorrect #include placements, and added some
      non-network drivers and the fib_trie.c case    - Linus ]
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 93ae653491f0a413d5f4d9aa4df45d09ecb55d62
Author: Michael Chan <mchan@broadcom.com>
Date:   Fri Apr 8 13:03:02 2011 -0700

    cnic: Fix rtnl deadlock
    
    When cnic_stop_hw() -> cnic_cm_stop_bnx2x_hw() is called under rtnl_lock()
    from NETDEV_DOWN event, it waits for cnic_delete_task() to complete.
    It will deadlock when cnic_delete_task() takes rtnl_lock() before
    calling cnic_ulp_stop_one().
    
    We fix it by removing the rtnl_lock() in cnic_delete_task().
    cnic_ulp_stop_one() has mutex and atomic bit ops to prevent important
    operations from being done more than once, so it is not necessary to take
    rtnl_lock().
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit fab0dc89f0d98459c6ce7fa27422949ac15837fa
Author: Dmitry Kravkov <dmitry@broadcom.com>
Date:   Thu Mar 31 17:04:22 2011 -0700

    bnx2x, cnic: Disable iSCSI if DCBX negotiation is successful
    
    With current bnx2x firmware 6.2.9, iSCSI is not supported in DCB
    network, so we need to disable it.  Add cnic command to disconnect
    iSCSI connections and prevent future connections when DCBX negotiation
    succeeds.
    
    Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 4c9483b2fb5d2548c3cc1fe03cdd4484ceeb5d1c
Author: David S. Miller <davem@davemloft.net>
Date:   Sat Mar 12 16:22:43 2011 -0500

    ipv6: Convert to use flowi6 where applicable.
    
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 1d28f42c1bd4bb2363d88df74d0128b4da135b4a
Author: David S. Miller <davem@davemloft.net>
Date:   Sat Mar 12 00:29:39 2011 -0500

    net: Put flowi_* prefix on AF independent members of struct flowi
    
    I intend to turn struct flowi into a union of AF specific flowi
    structs.  There will be a common structure that each variant includes
    first, much like struct sock_common.
    
    This is the first step to move in that direction.
    
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 78fbfd8a653ca972afe479517a40661bfff6d8c3
Author: David S. Miller <davem@davemloft.net>
Date:   Sat Mar 12 00:00:52 2011 -0500

    ipv4: Create and use route lookup helpers.
    
    The idea here is this minimizes the number of places one has to edit
    in order to make changes to how flows are defined and used.
    
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 0197b087ed6384760656f1e4a620a3e92d8dc0b0
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Mar 2 13:00:50 2011 +0000

    cnic: Fix lost interrupt on bnx2x
    
    We service 2 queues (kcq1 and kcq2) in cnic_service_bnx2x_bh().  If
    the status block index has changed when servicing the kcq2, we must
    go back and check kcq1.  The latest status block index will be used
    to acknowledge the interrupt, and without looping back to check kcq1,
    we may miss events on kcq1.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 107c3f4d42adc9af393019b795dd2177fbe9e465
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Mar 2 13:00:49 2011 +0000

    cnic: Prevent status block race conditions with hardware
    
    The status block index is used to acknowledge interrupt events and must
    be read before checking for the interrupt events, so we need to add rmb()
    to guarantee that.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit b23dd4fe42b455af5c6e20966b7d6959fa8352ea
Author: David S. Miller <davem@davemloft.net>
Date:   Wed Mar 2 14:31:35 2011 -0800

    ipv4: Make output route lookup return rtable directly.
    
    Instead of on the stack.
    
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 2ba451421b23636c45fabfa522858c5c124b3673
Author: Vladislav Zolotarov <vladz@broadcom.com>
Date:   Mon Jan 31 14:39:17 2011 +0000

    bnx2x, cnic: Consolidate iSCSI/FCoE shared mem logic in bnx2x
    
    Move all shared mem code to bnx2x to avoid code duplication.  bnx2x now
    performs:
    
    - Read the FCoE and iSCSI max connection information.
    - Read the iSCSI and FCoE MACs from NPAR configuration in shmem.
    - Block the CNIC for the current function if there is neither FCoE nor
      iSCSI valid configuration by returning NULL from bnx2x_cnic_probe().
    
    Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
    Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 13707f9e5e46342b7b16c58be91ad93a476c3ffd
Author: Eric Dumazet <eric.dumazet@gmail.com>
Date:   Wed Jan 26 19:28:23 2011 +0000

    drivers/net: remove some rcu sparse warnings
    
    Add missing __rcu annotations and helpers.
    minor : Fix some rcu_dereference() calls in macvtap
    
    Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
    Acked-by: Arnd Bergmann <arnd@arndb.de>
    Acked-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 5138826b52f8bc441770069b1b305e1d1426ae9e
Author: Michael Chan <mchan@broadcom.com>
Date:   Tue Jan 25 22:14:50 2011 +0000

    cnic: Fix big endian bug
    
    The chip's page tables did not set up properly on big endian machines,
    causing EEH errors on PPC machines.
    
    Reported-by: Breno Leitao <leitao@linux.vnet.ibm.com>
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 68d7c1aa2fee6acb11fcb826a207e4b81d8a1f57
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Jan 5 15:14:13 2011 +0000

    cnic: Fix the type field in SPQ messages
    
    The new firmware interface requires each Slow Path Queue (SPQ) message's
    type field to include the function number.  The existing code does not
    do this consistently.  We fix this by OR'ing in the function number
    into the type field centrally in cnic_submit_kwqe_16().
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 42bb8d56953a06de50941d6d3df89dc3023bb92d
Author: Michael Chan <mchan@broadcom.com>
Date:   Mon Jan 3 15:21:46 2011 +0000

    cnic: Do not call bnx2i when bnx2i is calling cnic_unregister_driver()
    
    We should call bnx2i to send the iSCSI netlink message earlier in
    cnic_unregister_device().  By the time cnic_unregister_driver() is
    called, bnx2i may have freed data structures used by the upcalls.
    
    Update version to 2.2.12.
    
    Reviewed-by: Benjamin Li <benli@broadcom.com>
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 57045c996fb4e035f1d152b7e04315fc223352e9
Author: Michael Chan <mchan@broadcom.com>
Date:   Mon Jan 3 15:21:45 2011 +0000

    cnic: Do not allow iSCSI and FCoE on bnx2x multi-function mode
    
    Because the hardware does not yet support these in this mode.
    
    Reviewed-by: Benjamin Li <benli@broadcom.com>
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit f7e4c9775ea648deed4a8193951e50d0c7706173
Author: Jesper Juhl <jj@chaosbits.net>
Date:   Fri Dec 31 11:18:48 2010 -0800

    Broadcom CNIC core network driver: fix mem leak on allocation failures in cnic_alloc_uio_rings()
    
    We are leaking memory in drivers/net/cnic.c::cnic_alloc_uio_rings() if
    either of the calls to dma_alloc_coherent() fail. This patch fixes it by
    freeing both the memory allocated with kzalloc() and memory allocated with
    previous calls to dma_alloc_coherent() when there's a failure.
    
    Thanks to  Joe Perches <joe@perches.com>  for suggesting a better
    implementation than my initial version.
    
    Signed-off-by: Jesper Juhl <jj@chaosbits.net>
    Acked-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit e1928c86c4829703b800c81cc9edc939b5634e6f
Author: Michael Chan <mchan@broadcom.com>
Date:   Thu Dec 23 07:43:04 2010 +0000

    cnic: Add FCoE support on 57712
    
    - Connection ID (cid) management
    - Slow-path command and response support
    - Update version to 2.2.11.
    
    Reviewed-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit e21ba414eed8a233eadb79bb6b158ac7ceb35025
Author: Michael Chan <mchan@broadcom.com>
Date:   Thu Dec 23 07:43:03 2010 +0000

    cnic: Add kcq2 support on 57712
    
    The kcq2 (2nd kernel work queue) is used by FCoE on 57712 devices.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 42ecbb8426aa229167d7f9d4b4e20f24bf42cb24
Author: Eddie Wai <waie@broadcom.com>
Date:   Thu Dec 23 07:43:02 2010 +0000

    cnic: Call cm_connect_complete() immediately on error
    
    If we get a path_resp error from userspace, call cm_connect_complete()
    immediately with error so that bnx2i can react to the error faster.
    
    Signed-off-by: Eddie Wai <waie@broadcom.com>
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit eaaa6e9c222d5c398488ed4216f0fd94e4b81759
Author: Michael Chan <mchan@broadcom.com>
Date:   Thu Dec 23 08:38:30 2010 +0000

    cnic: Check device state before reading the kcq pointer in IRQ
    
    If the device is down, the kcq pointer may be NULL.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 4aacb7afb6afd78efe26427e74fa56a5fc72fad3
Author: Michael Chan <mchan@broadcom.com>
Date:   Thu Dec 23 07:43:01 2010 +0000

    cnic: Support NIC Partition mode
    
    Add a common function cnic_read_bnx2x_iscsi_mac() to read the iSCSI
    MAC address at any specified shared memory location.  In NIC Partition
    mode, we need to get the MAC address from the MF_CFG area of shared
    memory.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 5159fdc1e6cb4000f482faebeeba0be91611276d
Author: Michael Chan <mchan@broadcom.com>
Date:   Thu Dec 23 07:42:59 2010 +0000

    cnic: Use proper client and connection IDs on iSCSI ring
    
    Use the IDs specified by the bnx2x driver when initializing the ring.
    We don't have to make code changes when these IDs change in the future.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 939b82e5bde56a98c72eccde2e3a88d32bffad4a
Author: Michael Chan <mchan@broadcom.com>
Date:   Thu Dec 23 07:42:58 2010 +0000

    cnic: Improve ->iscsi_nl_msg_send()
    
    1. Change first parameter from cnic_dev to ulp_handle which is the hba
    pointer.  All other similar upcalls are using hba pointer.  The callee
    can then directly reference the hba without conversion.
    
    2. Change return value from void to int so that an error code can be
    passed back.  This allows the operation to be retried.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 8adc9240f98a816f7e9b3d93b9446a790110e062
Author: Michael Chan <mchan@broadcom.com>
Date:   Thu Dec 23 07:42:57 2010 +0000

    cnic: Prevent "scheduling while atomic" when calling ->cnic_init()
    
    cnic_dev_list is protected by rtnl_lock and cnic_dev_lock spin_lock during
    modifications.  When looping on cnic_dev_list and calling ->cnic_init(),
    we should just hold rtnl_lock since ->cnic_init() may sleep.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 9b09336072796378dac46df63bcd43291b24fd12
Author: Michael Chan <mchan@broadcom.com>
Date:   Thu Dec 23 07:42:56 2010 +0000

    cnic: Fix iSCSI TCP port endian order.
    
    Pass the TCP port parameter for iSCSI connections to the firmware in
    proper endian order.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 779bb41d4bd111d5631d58d1bf2d00b5c4389c80
Author: Joe Perches <joe@perches.com>
Date:   Sun Nov 14 17:04:37 2010 +0000

    drivers/net/cnic.c: Remove unnecessary semicolons
    
    Signed-off-by: Joe Perches <joe@perches.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit ee87a82a28cddbb9267a294172ecb3d3d3bdaa6c
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Oct 13 14:06:51 2010 +0000

    cnic: Add support for 57712 device
    
    Add new interrupt ack functions and other hardware interface logic to
    support the new device.
    
    Update version to 2.2.6.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit a3ceeeb8f11d74f26e3dfca40ded911a82402db5
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Oct 13 14:06:50 2010 +0000

    cnic: Decouple uio close from cnic shutdown
    
    During cnic shutdown, the original driver code requires userspace to
    close the uio device within a few seconds.  This doesn't always happen
    as the userapp may be hung or otherwise take a long time to close.  The
    system may crash when this happens.
    
    We fix the problem by decoupling the uio structures from the cnic
    structures during cnic shutdown.  We do not unregister the uio device
    until the cnic driver is unloaded.  This eliminates the unreliable wait
    loop for uio to close.
    
    All uio structures are kept in a linked list.  If the device is shutdown
    and later brought back up again, the uio strcture will be found in the
    linked list and coupled back to the cnic structures.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit cd801536c236e287f1d3eeee428abf9ffd523ede
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Oct 13 14:06:49 2010 +0000

    cnic: Add cnic_uio_dev struct
    
    and put all uio related structures and ring buffers in it.  This allows
    uio operations to be done independent of the cnic device structures.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit c06c0462250a5dbc9e58d00caab4cd7e6675128c
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Oct 13 14:06:48 2010 +0000

    cnic: Add cnic_free_uio()
    
    to free all UIO related structures.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit fdf24086f4752aee5dfb40143c736250df017820
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Oct 13 14:06:47 2010 +0000

    cnic: Defer iscsi connection cleanup
    
    The bnx2x devices require a 2 second quiet time before sending the last
    RAMROD command to destroy a connection.  This sleep wait adds up to a
    long delay when iscsid is serially destroying maultiple connections.
    
    Create a workqueue to perform the final connection cleanup in the
    background to speed up the process.  This significantly speeds up the
    process as the wait time can be done in parallel for multiple connections.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit a2c9e769dbb92336ddacba01d399ad0f509e7094
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Oct 13 14:06:46 2010 +0000

    cnic: Add cnic_bnx2x_destroy_ramrod()
    
    Refactoring code for the next patch to defer connection clean up.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 6e0dda0c467d6c66d64c146170ea35399ec34c15
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Oct 13 14:06:45 2010 +0000

    cnic: Convert ctx_flags to bit fields
    
    so that we can additional bit definitions without requiring a spinlock.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 6e0dc64384298b29ac17de7362b7d6d2ef588304
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Oct 13 14:06:44 2010 +0000

    cnic: Add common cnic_request_irq()
    
    to reduce some duplicate code.  Also, use tasklet_kill() in
    cnic_free_irq() to wait for the cnic_irq_task to complete.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit c2bff63fad94eeecf59e4ba8e4cb51688ccae1ec
Author: Dmitry Kravkov <dmitry@broadcom.com>
Date:   Wed Oct 6 03:33:18 2010 +0000

    bnx2x, cnic: Fix SPQ return credit
    
    Return proper L2 and L5 SPQ (slow path queue) credits.  Previously, all
    SPQ events were counted as L5 types.
    
    Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 523224a3b3cd407ce4e6731a087194e13a90db18
Author: Dmitry Kravkov <dmitry@broadcom.com>
Date:   Wed Oct 6 03:23:26 2010 +0000

    bnx2x, cnic, bnx2i: use new FW/HSI
    
    This is the new FW HSI blob and the relevant definitions without logic changes.
    It also included code adaptation for new HSI. New features are not enabled.
    
    New FW/HSI includes:
    - Support for 57712 HW
    - Future support for VF (not used)
    - Improvements in FW interrupts scheme
    - FW FCoE hooks (stubs for future usage)
    
    Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 541a78103f097cd5120e55aaba56d099a64f153c
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Oct 6 03:17:22 2010 +0000

    cnic: Fine-tune ring init code.
    
    Initialize the rings only during cnic_uio_open() and shut them down
    during cnic_uio_close().  Check for the new bit CNIC_LCL_FL_RINGS_INITED
    before checking for ring interrupt.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 1420398db4d5e236583d3ab392637df255bd5c6b
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Oct 6 03:16:06 2010 +0000

    cnic: Use pfid for internal memory offsets.
    
    The pfid (physical function ID) is the same as PCI function on production
    devices.  The pfid for future devices will be different and will be used
    for internal memory offsets.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit ceb7e1c7c5ab86ca686d523f99ca473a1f3a984d
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Oct 6 03:14:54 2010 +0000

    cnic: Pass cp pointer to BNX2X_HW_CID.
    
    Preparation work for upcoming firmware interface changes.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit baeb2ffab4e67bb9174e6166e070a9a8ec94b0f6
Author: Joe Perches <joe@perches.com>
Date:   Wed Aug 11 07:02:48 2010 +0000

    drivers/net: Convert unbounded kzalloc calls to kcalloc
    
    These changes may be slightly safer in some instances.
    
    There are other kzalloc calls with a multiply, but those
    calls are typically "small fixed #" * sizeof(some pointer)"
    and those are not converted.
    
    Signed-off-by: Joe Perches <joe@perches.com>
    Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
    Acked-by: Luciano Coelho <luciano.coelho@nokia.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 72b8a169dbfa74e7d1d08b97435e61e711d7be0e
Author: Michael Chan <mchan@broadcom.com>
Date:   Thu Jun 24 14:58:42 2010 +0000

    cnic: Update version to 2.1.3.
    
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit b177a5d5d876965b42788f3a05197ef385c84dcf
Author: Michael Chan <mchan@broadcom.com>
Date:   Thu Jun 24 14:58:41 2010 +0000

    cnic: Further unify kcq handling code.
    
    This eliminates some of the duplicate code for the various devices
    that require the same basic kcq handling.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 644b9d4f8b8d74f4d87f14dede5e331555d3e701
Author: Michael Chan <mchan@broadcom.com>
Date:   Thu Jun 24 14:58:40 2010 +0000

    cnic: Restructure kcq processing.
    
    By doing more work in the common function cnic_get_kcqes(), and
    making full use of the kcq_info structure.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit e6c2889478f04b30e5a71d753734644c579472fa
Author: Michael Chan <mchan@broadcom.com>
Date:   Thu Jun 24 14:58:39 2010 +0000

    cnic: Unify kcq allocation for all devices.
    
    By creating a common data stucture kcq_info for all devices, the kcq
    (kernel completion queue) for all devices can be allocated by common
    code.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 66fee9ed03a4413ea054e437b65af6fd3583b4db
Author: Michael Chan <mchan@broadcom.com>
Date:   Thu Jun 24 14:58:38 2010 +0000

    cnic: Unify IRQ code for all hardware types.
    
    By creating a common cnic_doirq().
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 520efdf44f0140eef9018518fdae5edfc86f3b6c
Author: Michael Chan <mchan@broadcom.com>
Date:   Thu Jun 24 14:58:37 2010 +0000

    cnic: Fine-tune CID memory space calculation.
    
    The current code makes assumptions about the CID (context ID) memory
    space and starting CID that may not be always correct when firmware
    changes.  In particular, BNX2_ISCSI_START_CID may not always be fixed.
    We now calculate cp->max_cid_space and cp->iscsi_start_cid dynamically
    instead of using fixed constants.  The unused cp->max_iscsi_conn is also
    eliminated.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 8244132ea89cdd128003f5b9980fab50d8d36d72
Merge: 7b2ff18 38000a9
Author: David S. Miller <davem@davemloft.net>
Date:   Wed Jun 23 18:26:27 2010 -0700

    Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
    
    Conflicts:
    	net/ipv4/ip_output.c

commit 6b2a541db58dba5860ccbcfaf36caee064b8a9fd
Author: Dmitry Kravkov <dmitry@broadcom.com>
Date:   Wed Jun 23 11:57:09 2010 -0700

    cnic: Disable statistics initialization for eth clients that do not support statistics
    
    Disable statistics initialization for eth clients that do not support
     statistics. This prevents memory corruption on bnx2x hw.
    
    Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Eilon Greenstein <eilong@broadcom.com>

commit 7b34a4644b4342896e0c1967b8f953213ea4a990
Author: Michael Chan <mchan@broadcom.com>
Date:   Tue Jun 15 08:57:03 2010 +0000

    cnic: Fix cnic_cm_abort() error handling.
    
    Fix the code that handles the error case when cnic_cm_abort() cannot
    proceed normally.  We cannot just set the csk->state and we must
    go through cnic_ready_to_close() to handle all the conditions.  We
    also add error return code in cnic_cm_abort().
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Eddie Wai <waie@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 943189f1d564e69201f7d71e77f5608a701e3e55
Author: Michael Chan <mchan@broadcom.com>
Date:   Tue Jun 15 08:57:02 2010 +0000

    cnic: Refactor and fix cnic_ready_to_close().
    
    Combine RESET_RECEIVED and RESET_COMP logic and fix race condition
    between these 2 events and cnic_cm_close().  In particular, we need
    to (test_and_clear_bit(SK_F_OFFLD_COMPLETE, &csk->flags)) before we
    update csk->state.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Eddie Wai <waie@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit a1e621bf6d03621de207cd416f6a21969dd0601c
Author: Michael Chan <mchan@broadcom.com>
Date:   Tue Jun 15 08:57:01 2010 +0000

    cnic: Refactor code in cnic_cm_process_kcqe().
    
    Move chip-specific code to the respective chip's ->close_conn() functions
    for better code organization.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Eddie Wai <waie@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit ed99daa5a0de4df9ed579ce36ff8b1373b6dbe47
Author: Michael Chan <mchan@broadcom.com>
Date:   Tue Jun 15 08:57:00 2010 +0000

    cnic: Return error code in cnic_cm_close() if unsuccessful.
    
    So that bnx2i can handle the error condition immediately and not have to
    wait for timeout.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com.
    Signed-off-by: Eddie Wai <waie@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit d8d1f30b95a635dbd610dcc5eb641aca8f4768cf
Author: Changli Gao <xiaosuo@gmail.com>
Date:   Thu Jun 10 23:31:35 2010 -0700

    net-next: remove useless union keyword
    
    remove useless union keyword in rtable, rt6_info and dn_route.
    
    Since there is only one member in a union, the union keyword isn't useful.
    
    Signed-off-by: Changli Gao <xiaosuo@gmail.com>
    Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit b58ffb41fc09d1ffaca97e5ae801233575be2a7f
Author: Michael Chan <mchan@broadcom.com>
Date:   Thu May 27 16:31:41 2010 -0700

    cnic: Fix context memory init. on 5709.
    
    We need to zero context memory on 5709 in the function cnic_init_context().
    Without this, iscsid restart on 5709 will not work because of stale data.
    TX context blocks should not be initialized by cnic_init_context() because
    of the special remapping on 5709.
    
    Update version to 2.1.2.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 48f753d2ba94a4081400fa8d26bdbfbbf12b10de
Author: Michael Chan <mchan@broadcom.com>
Date:   Tue May 18 11:32:53 2010 +0000

    cnic: Return SPQ credit to bnx2x after ring setup and shutdown.
    
    Everytime the iSCSI ring finishes setup or shutdown, we need to return
    the SPQ (slow path queue) credit to the bnx2x driver.  Without this step,
    the SPQ will eventually be full causing iSCSI to fail.  This can happen
    after 3 or 4 MTU changes for example.
    
    Add code to wait for these slow path commands to complete in the RX ring
    and return the SPQ credit to bnx2x.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 1f1332a3cb7ac73e3bcff6ea42ff965c90a29d12
Author: Michael Chan <mchan@broadcom.com>
Date:   Tue May 18 11:32:52 2010 +0000

    cnic: Convert cnic_local_flags to atomic ops.
    
    It is easier to expand the flags for other purposes because it does
    not require a spin_lock.  The next bug fix patch needs a flag in
    cnic_local_flags.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit a4b770972b8f819e408d7cc3ae9637e15bff62f6
Author: Joe Perches <joe@perches.com>
Date:   Fri May 14 00:19:28 2010 -0700

    drivers/net: Remove unnecessary returns from void function()s
    
    This patch removes from drivers/net/ all the unnecessary
    return; statements that precede the last closing brace of
    void functions.
    
    It does not remove the returns that are immediately
    preceded by a label as gcc doesn't like that.
    
    It also does not remove null void functions with return.
    
    Done via:
    $ grep -rP --include=*.[ch] -l "return;\n}" net/ | \
      xargs perl -i -e 'local $/ ; while (<>) { s/\n[ \t\n]+return;\n}/\n}/g; print; }'
    
    with some cleanups by hand.
    
    Compile tested x86 allmodconfig only.
    
    Signed-off-by: Joe Perches <joe@perches.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 94824f3dbe0d3f62470603bbb18efb5510aaf07c
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Apr 7 20:53:54 2010 -0700

    cnic: Fix crash during bnx2x MTU change.
    
    cnic_service_bnx2x() irq handler can be called during chip reset from
    MTU change.  Need to check that the cnic's device state is up before
    handling the irq.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 1d9cfc4e354cd619d92bb938657dec3c533e6929
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Feb 24 14:42:09 2010 +0000

    cnic: Update version to 2.1.1.
    
    And update copyright to 2010.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit a4dde3abbf87a495154a876576e1ab34b17b5ef1
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Feb 24 14:42:08 2010 +0000

    cnic: Use union for the status blocks of different devices.
    
    We only need to assign the status block address once and it also saves
    space in the structure.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Benjamin Li <benli@broadcom.com>
    Signed-off-by: Eddie Wai <waie@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit c76284af9ec8a010c502a70249cb74b3bb69ec6f
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Feb 24 14:42:07 2010 +0000

    cnic: Simplify route checking during iSCSI connection.
    
    With a separate IP address for iSCSI, connections should proceed
    whether or not we can get a route to the target from the network stack.
    It is possible that the network IP address may not reach the iSCSI target.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Benjamin Li <benli@broadcom.com>
    Signed-off-by: Eddie Wai <waie@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit d02a5e6c2fba8b114c44cf05085fca07180f37f1
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Feb 24 14:42:06 2010 +0000

    cnic: Fix panic in cnic_iscsi_nl_msg_recv() when device is down.
    
    Some data structures are freed when the device is down and it will
    crash if an ISCSI netlink message is received.  Add RCU protection
    to prevent this.  In the shutdown path, ulp_ops[CNIC_ULP_L4] is
    assigned NULL and rcu_synchronized before freeing the data
    structures.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 66883e90eaa0dd55d395c0f9a0c6da5d50809804
Author: Eddie Wai <waie@broadcom.com>
Date:   Wed Feb 24 14:42:05 2010 +0000

    cnic: Finetune iSCSI connection reset.
    
    For bnx2 devices, always send notification to bnx2i to let it initiate
    the cleanup when RST is received.
    
    For bnx2x devices, add unsolicited RST_COMP handling to start the cleanup.
    
    Signed-off-by: Eddie Wai <waie@broadcom.com>
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Benjamin Li <benli@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit a9736c086cc6221659e498f0855152c32dbc1396
Author: Eddie Wai <waie@broadcom.com>
Date:   Wed Feb 24 14:42:04 2010 +0000

    cnic: Finetune iSCSI connection set up.
    
    Initialize IP ID and handle some additional connection errors.
    
    Signed-off-by: Eddie Wai <waie@broadcom.com>
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Benjamin Li <benli@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit ddf79b20eefd27797ce461411679a48e998701ca
Author: Joe Perches <joe@perches.com>
Date:   Wed Feb 17 15:01:54 2010 +0000

    drivers/net/cnic.c: Use (pr|netdev)_<level> macro helpers
    
    Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
    Remove #define PFX
    Use pr_<level>
    Use netdev_<level>
    Remove periods from formats
    Coalesce long formats
    Use __func__
    
    Signed-off-by: Joe Perches <joe@perches.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 4e9c4fd3e7e022c7a5b8bb7cd06bf914b202cfea
Author: Michael Chan <mchan@broadcom.com>
Date:   Thu Dec 10 15:40:58 2009 +0000

    cnic: Zero out status block and Event Queue indices.
    
    To prevent stale indices from causing spurious events when restarting the
    bnx2x devices.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 1bcdc32cf4d94442eba79599ce8438ea0b8f78b5
Author: Michael Chan <mchan@broadcom.com>
Date:   Thu Dec 10 15:40:57 2009 +0000

    cnic: Send delete command when shutting down iSCSI ring.
    
    This step is necessary on the bnx2x devices when restarting the iSCSI
    ring.  Without it, the firmware can assert and cause bnx2x to report
    errors.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 3248e1682035eef6774c280cd7be19984feb78bb
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Dec 2 15:15:39 2009 +0000

    cnic: Use dma_alloc_coherent().
    
    Replace pci_alloc_consistent() with dma_alloc_coherent() so that
    appropriate GFP flags can be used.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Benjamin Li <benli@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 15971c3ce3caf9a92b603a61b07e0be8c9b9d276
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Dec 2 15:15:38 2009 +0000

    cnic: Fix rq_page_table DMA address.
    
    The old code mistakenly zeroed out the upper 32-bit of the DMA address.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Benjamin Li <benli@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit dd2e4dbce32a2802088f6d0132046afec9bfb2ad
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Dec 2 15:15:37 2009 +0000

    cnic: Fix bogus iSCSI MAC address
    
    Fix code to read the proper iSCSI MAC address for bnx2x devices.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Benjamin Li <benli@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 8b065b671d3096bfe0dbc9a833cb592f84642436
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Dec 2 15:15:36 2009 +0000

    cnic: Fix bnx2x ring shutdown.
    
    Need to send a HALT command to the firmware to fully shutdown the bnx2x
    rings.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Benjamin Li <benli@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit c7596b79feb3d15bea64007254f77233bda811f4
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Dec 2 15:15:35 2009 +0000

    cnic: Fix ring I/O address for bnx2x devices.
    
    Old code was initializing the ring producers using an incorrect I/O
    address.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Benjamin Li <benli@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 164165dad7e607ec359e64b6fae72abbf3640ea6
Author: Joe Perches <joe@perches.com>
Date:   Thu Nov 19 09:30:10 2009 +0000

    drivers/net: tasklet_init - Remove unnecessary leading & from second arg
    
    Changed function pointer use from non-majority address-of style
    to majority short form without & via: (was: 8 with &, 36 without)
    
    grep -rPl "\btasklet_init\s*\([^,\)]+,\s*\&" drivers/net | while read file ; do \
    	perl -i -e 'local $/; while (<>) { s@(\btasklet_init\s*\([^,\)]+,\s*)\&@\1@g ; print ; }' $file ;\
    done
    
    Compile tested allyesconfig x86
    
    Signed-off-by: Joe Perches <joe@perches.com>
    
     drivers/net/cnic.c |    4 ++--
     drivers/net/jme.c  |   10 +++++-----
     drivers/net/skge.c |    2 +-
     3 files changed, 8 insertions(+), 8 deletions(-)
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 0d37f36ff9bc41067c71635d14b6a5834853a779
Author: roel kluin <roel.kluin@gmail.com>
Date:   Mon Nov 2 06:53:44 2009 +0000

    cnic: ensure ulp_type is not negative
    
    `ulp_type' is signed, make sure it is not negative
    when we read the array element.
    
    Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
    Acked-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 0519d83d83ed485b5a1f9222ff69d7d6c9bb8a01
Merge: 38bfd8f b5dd884
Author: David S. Miller <davem@davemloft.net>
Date:   Thu Oct 29 21:28:59 2009 -0700

    Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6

commit d0549382da9997834ce65e489d9dbdc4b4693a2b
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Oct 28 03:41:59 2009 -0700

    cnic: Fix L2CTX_STATUSB_NUM offset in context memory.
    
    The BNX2_L2CTX_STATUSB_NUM definition needs to be changed to match
    the recent firmware update:
    
    commit 078b0735881c7969aaf21469f3577831cddd9f8c
    bnx2: Update firmware to 5.0.0.j3.
    
    Without the fix, bnx2 can crash intermittently in bnx2_rx_int() when
    iSCSI is enabled.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Benjamin Li <benli@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit c05e85a06e376f6b6d59e71e5333d707e956d78b
Author: David S. Miller <davem@davemloft.net>
Date:   Mon Oct 12 23:18:35 2009 -0700

    cnic: Need to include net/ip6_checksum.h
    
    drivers/net/cnic.c: In function 'cnic_init_storm_conn_bufs':
    drivers/net/cnic.c:1757: error: implicit declaration of function 'csum_ipv6_magic'
    
    Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 71034ba845c9ff219373066f904286c0b7506922
Author: Michael Chan <mchan@broadcom.com>
Date:   Sat Oct 10 13:46:59 2009 +0000

    cnic: Add main functions to support bnx2x devices.
    
    Add iSCSI support for bnx2x devices.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Shmulik Ravid - Rabinovitz <shmulikr@broadcom.com>
    Acked-by: Eilon Greenstein <eilong@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit e251306556d30c9c678feca60204acaaa0784cbd
Author: Michael Chan <mchan@broadcom.com>
Date:   Sat Oct 10 13:46:58 2009 +0000

    cnic: Add bnx2x data structures.
    
    Add hardware and software structures for bnx2x devices.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Acked-by: Eilon Greenstein <eilong@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 86b53606ebec06b16be81c30fabdf8decc2be6b2
Author: Michael Chan <mchan@broadcom.com>
Date:   Sat Oct 10 13:46:57 2009 +0000

    cnic: Refactor some code.
    
    Refactor ring init. code for subsequent 10G patches.  Also add rtnl_lock()
    in cnic_uio_open() to prevent race condition with netdev events.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 6053bbf7bbdbb2c94547f830ad07636c17d7024e
Author: Michael Chan <mchan@broadcom.com>
Date:   Fri Oct 2 11:03:28 2009 -0700

    cnic: Fix NETDEV_UP event processing.
    
    This fixes the problem of not handling the NETDEV_UP event properly
    during hot-plug or modprobe of bnx2 after cnic.  The handling was
    skipped by mistakenly using "else if" to check for the event.
    
    Also update version to 2.0.1.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Benjamin Li <benli@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 6ef57a0ea77e7bf4123a06da895a0e26312b5737
Author: Michael Chan <mchan@broadcom.com>
Date:   Mon Sep 21 15:39:37 2009 +0000

    cnic: Shutdown iSCSI ring during uio_close.
    
    The iSCSI ring should be shutdown during uio_close instead of uio_open
    for proper operations.  This fixes the problem of the ring getting
    stuck intermittently.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Benjamin Li <benli@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 6cdee2f96a97f6da26bd3759c3f8823332fbb438
Merge: 0625491 2fbd3da
Author: David S. Miller <davem@davemloft.net>
Date:   Wed Sep 2 00:32:56 2009 -0700

    Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
    
    Conflicts:
    	drivers/net/yellowfin.c

commit 5e9b2dbfcbc9b180a0064d8a473a4652ee99c9ad
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Aug 26 09:49:23 2009 +0000

    cnic: Put uio init in separate function.
    
    This will allow the 10G iSCSI code to reuse the function.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit ec0248ea35f6e1fc7426f377a7df071d997bdedd
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Aug 26 09:49:22 2009 +0000

    cnic: Put rx/tx ring allocation in separate function.
    
    This will allow the 10G iSCSI code to reuse the function.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 7fc1ece40704b150477e548a7a98d285cc418790
Author: Michael Chan <mchan@broadcom.com>
Date:   Fri Aug 14 15:49:47 2009 +0000

    cnic: Fix locking in init/exit calls.
    
    The slow path ulp_init and ulp_exit calls to the bnx2i driver
    are sleepable calls and therefore should not be protected using
    rcu_read_lock.  Fix it by using mutex and refcount during these
    calls.  cnic_unregister_driver() will now wait for the refcount
    to go to zero before completing the call.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Reviewed-by: Benjamin Li <benli@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 681dbd710779e8b8d5bae926f6b11f30df70638b
Author: Michael Chan <mchan@broadcom.com>
Date:   Fri Aug 14 15:49:46 2009 +0000

    cnic: Fix locking in start/stop calls.
    
    The slow path ulp_start and ulp_stop calls to the bnx2i driver
    are sleepable calls and therefore should not be protected using
    rcu_read_lock.  Fix it by using mutex and setting a bit during
    these calls.  cnic_unregister_device() will now wait for the bit
    to clear before completing the call.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Reviewed-by: Benjamin Li <benli@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit a3059b12adae868c42629ecf058a94195ef1e958
Author: Michael Chan <mchan@broadcom.com>
Date:   Fri Aug 14 15:49:44 2009 +0000

    cnic: Refine registration with bnx2.
    
    Register and unregister with bnx2 during NETDEV_UP and NETDEV_DOWN
    events.  This simplifies the sequence of events and allows locking
    fixes in the next patch.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Reviewed-by: Benjamin Li <benli@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 64c6460875957502541a4ba30835ac625a0bee79
Author: Michael Chan <mchan@broadcom.com>
Date:   Fri Aug 14 15:49:43 2009 +0000

    cnic: Fix symbol_put_addr() panic on ia64.
    
    When the cnic driver tries to grab a symbol from bnx2 when bnx2 is
    running init code, symbol_get() will succeed but symbol_put_addr()
    will hit BUG() a moment later.  module_text_address() fails because
    bnx2 is still in init code.
    
    This is fixed by using symbol_put() instead which does the exact
    opposite of symbol_get().
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 6d7760a88c25057c2c2243e5dfe2d731064bd31d
Author: Michael Chan <mchan@broadcom.com>
Date:   Mon Jul 27 11:25:58 2009 -0700

    cnic: Fix ISCSI_KEVENT_IF_DOWN message handling.
    
    When a net device goes down or when the bnx2i driver is unloaded,
    the code was not generating the ISCSI_KEVENT_IF_DOWN message
    properly and this could cause the userspace driver to crash.
    
    This is fixed by sending the message properly in the shutdown path.
    cnic_uio_stop() is also added to send the message when bnx2i is
    unregistering.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit e2ee3616bc334ab51e68aad6905761ca97f35559
Author: Michael Chan <mchan@broadcom.com>
Date:   Sat Jun 13 17:43:02 2009 -0700

    cnic: Fix __symbol_get() build error.
    
    Ingo molnar <mingo@elte.hu> reported the error
    
    drivers/net/cnic.c:2520: error: implicit declaration of function ‘__symbol_get’
    
    when CONFIG_MODULES is not defined.  Fix by using symbol_get() instead.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

commit 7cbdca23c8a4e6d007b62c9136ba0e5f86e069d0
Author: James Bottomley <James.Bottomley@HansenPartnership.com>
Date:   Sat Jun 13 15:51:08 2009 -0500

    Revert "[SCSI] cnic: fix error: implicit declaration of function ‘__symbol_get’"
    
    This reverts commit bc3bf8fd330ce981ce632a1a4a283eee46838f32.
    
    All the commit did was add a second #include of <linux/module.h> which is
    the wrong fix.
    
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

commit bc3bf8fd330ce981ce632a1a4a283eee46838f32
Author: Ingo Molnar <mingo@elte.hu>
Date:   Sat Jun 13 08:29:33 2009 +0200

    [SCSI] cnic: fix error: implicit declaration of function ‘__symbol_get’
    
     drivers/net/cnic.c: In function ‘init_bnx2_cnic’:
     drivers/net/cnic.c:2520: error: implicit declaration of function ‘__symbol_get’
     drivers/net/cnic.c:2520: warning: assignment makes pointer from integer without a cast
     make[1]: *** [drivers/net/cnic.o] Error 1
     make: *** [drivers/net/cnic.o] Error 2
    
    Caused by not including linux/module.h
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

commit faea56c9bb44f539da1ae0194184873fc2720b20
Author: Randy Dunlap <randy.dunlap@oracle.com>
Date:   Fri Jun 12 11:43:48 2009 -0700

    [SCSI] cnic: fix undefined reference to `ip6_route_output'
    
    Fix cnic build for case of CONFIG_INET=n.
    Fix cnic build for case of CONFIG_IPV6=m and CONFIG_CNIC=y.
    
    Fixes these build errors:
    
    cnic.c:(.text+0x236a1d): undefined reference to `ip_route_output_key'
    cnic.c:(.text+0x15a8e8): undefined reference to `ip6_route_output'
    
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

commit a463696039f7097ce87c21db3cf5c16cdcb3850d
Author: Michael Chan <mchan@broadcom.com>
Date:   Mon Jun 8 18:14:43 2009 -0700

    [SCSI] cnic: Add new Broadcom CNIC driver.
    
    The CNIC driver controls BNX2 hardware rings and resources used by
    iSCSI.  Most hardware resources for iSCSI are separate from those
    used for ethernet networking.
    
    iSCSI uses a separate MAC address and IP address.  The CNIC driver
    creates a UIO interface to handle the non-offloaded packets such as
    ARP, etc in userspace.
    
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Acked-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
