| 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> |