- 11 11月, 2008 1 次提交
-
-
由 Steve Wise 提交于
When the iw_cxgb3 module's cxgb3_client "add" func gets called by the cxgb3 module, the iwarp driver ends up calling the ethtool ops get_drvinfo function in cxgb3 to get the fw version and other info. Currently the iwarp driver grabs the rtnl lock around this down call to serialize. As of 2.6.27 or so, things changed such that the rtnl lock is held around the call to the netdev driver open function. Also the cxgb3_client "add" function doesn't get called if the device is down. So, if you load cxgb3, then load iw_cxgb3, then ifconfig up the device, the iw_cxgb3 add func gets called with the rtnl_lock held. If you load cxgb3, ifconfig up the device, then load iw_cxgb3, the add func gets called without the rtnl_lock held. The former causes the deadlock, the latter does not. In addition, there are iw_cxgb3 sysfs handlers that also can call down into cxgb3 to gather the fw and hw versions. These can be called concurrently on different processors and at any time. Thus we need to push this serialization down in the cxgb3 driver get_drvinfo func. The fix is to remove rtnl lock usage, and use a per-device lock in cxgb3. Signed-off-by: NSteve Wise <swise@opengridcomputing.com> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
- 23 10月, 2008 3 次提交
-
-
由 Stefan Roscher 提交于
Since the ehca device driver does not support dynamic memory add and remove operations, the driver must explicitly reject such requests in order to prevent unpredictable behaviors related to existing memory regions that cover all of memory being used by InfiniBand protocols in the kernel. The solution (for now at least) is to add a memory notifier to the ehca device driver and if a request for dynamic memory add or remove comes in, ehca will always reject it. The user can add or remove memory by hot-removing the ehca adapter, performing the memory operation, and then hot-adding the ehca adapter back. Signed-off-by: NStefan Roscher <stefan.roscher@de.ibm.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Stefan Roscher 提交于
Because ehca adapters can differ in the maximum number of QPs and CQs we have to save the maximum number of these ressources per adapter and not globally per ehca driver. This fix introduces 2 new members to the shca structure to store the maximum value for QPs and CQs per adapter. The module parameters are now used as initial values for those variables. If a user selects an invalid number of CQs or QPs we don't print an error any longer, instead we will inform the user with a warning and set the values to the respective maximum supported by the HW. Signed-off-by: NStefan Roscher <stefan.roscher@de.ibm.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Yevgeny Petrilin 提交于
Multi-protocol adapters support different port types. Each consumer of mlx4_core queries for supported port types; in particular mlx4_ib can no longer assume that all physical ports belong to it. Port type is configured through a sysfs interface. When the type of a port is changed, all mlx4 interfaces are unregistered, and then registered again with the new port types. Signed-off-by: NYevgeny Petrilin <yevgenyp@mellanox.co.il> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
- 17 10月, 2008 1 次提交
-
-
由 Greg Kroah-Hartman 提交于
Now that device_create() has been audited, rename things back to the original call to be sane. Cc: Roland Dreier <rolandd@cisco.com> Cc: Sean Hefty <sean.hefty@intel.com> Cc: Hal Rosenstock <hal.rosenstock@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 16 10月, 2008 1 次提交
-
-
由 Steve Wise 提交于
The error path in iwch_connect() can fail to drop the cmid reference, which will cause the process to hang when destroying the cmid. Signed-off-by: NSteve Wise <swise@opengridcomputing.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
- 11 10月, 2008 2 次提交
-
-
由 Hoang-Nam Nguyen 提交于
This patch prevents a UC QP to be created attached to an SRQ, since current firmware does not support this feature. Signed-off-by: NMichael Faath <micfaath@de.ibm.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Yevgeny Petrilin 提交于
To allow allocating an aligned range of consecutive QP numbers, add an interface to reserve an aligned range of QP numbers and have the QP allocation function always take a QP number. This will be used for RSS support in the mlx4_en Ethernet driver and also potentially by IPoIB RSS support. Signed-off-by: NYevgeny Petrilin <yevgenyp@mellanox.co.il> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
- 10 10月, 2008 1 次提交
-
-
由 Chien Tung 提交于
Referencing cm_node after it is freed via rem_ref_cm_node() causes a slab corruption. There is no need to set cm_node->cm_id to NULL in mini_cm_close(). Signed-off-by: NChien Tung <ctung@neteffect.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
- 09 10月, 2008 2 次提交
-
-
由 Vladimir Sokolovsky 提交于
Set RLKEY bit in the HW context for kernel QPs so that kernel QPs can use the reserved L_Key for memory reference. Signed-off-by: NVladimir Sokolovsky <vlad@mellanox.co.il> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Chien Tung 提交于
error_module is 5 bits wide not 4. The corresponding crit_error_count array is correct with 32 entries. Signed-off-by: NChien Tung <ctung@neteffect.com> -- drivers/infiniband/hw/nes/nes_hw.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
- 04 10月, 2008 2 次提交
-
-
由 Bob Sharp 提交于
Fix routed RDMA connections to destinations where the next hop is not the final destination. Use neigh_*() to properly locate neighbor. Signed-off-by: NBob Sharp <bsharp@neteffect.com> Signed-off-by: NSweta Bhatt <sweta.bhatt@einfochips.com> Signed-off-by: NChien Tung <ctung@neteffect.com>
-
由 Vadim Makhervaks 提交于
Change management of perfect filter table to allow enhanced performance applications. Signed-off-by: NVadim Makhervaks <vmakhervaks@neteffect.com> Signed-off-by: NSweta Bhatt <sweta.bhatt@einfochips.com> Signed-off-by: NChien Tung <ctung@neteffect.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
- 01 10月, 2008 15 次提交
-
-
由 Faisal Latif 提交于
Handle async error NES_AEQE_AEID_AMP_BOUNDS_VIOLATION. Signed-off-by: NFaisal Latif <flatif@neteffect.com> Signed-off-by: NSweta Bhatt <sweta.bhatt@einfochips.com> Signed-off-by: NChien Tung <ctung@neteffect.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Chien Tung 提交于
Mask off a critical error after 100 critical error interrupts to keep the system "sane". Signed-off-by: NSweta Bhatt <sweta.bhatt@einfochips.com> Signed-off-by: NChien Tung <ctung@neteffect.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Chien Tung 提交于
Mask off MAC interrupts on netdev_stop to prevent spurious MAC interrupts on unload/reload of iw_nes. Signed-off-by: NSweta Bhatt <sweta.bhatt@einfochips.com> Signed-off-by: NChien Tung <ctung@neteffect.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Chien Tung 提交于
Signed-off-by: NSweta Bhatt <sweta.bhatt@einfochips.com> Signed-off-by: NChien Tung <ctung@neteffect.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Chien Tung 提交于
Fill in firmware version for ethtool_drvinfo. Signed-off-by: NSweta Bhatt <sweta.bhatt@einfochips.com> Signed-off-by: NChien Tung <ctung@neteffect.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 John Lacombe 提交于
Use timer value set via ethtool intead of #defines. Signed-off-by: NJohn Lacombe <jlacombe@neteffect.com> Signed-off-by: NSweta Bhatt <sweta.bhatt@einfochips.com> Signed-off-by: NChien Tung <ctung@neteffect.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Bob Sharp 提交于
Use correct define for max TSO fragments. Signed-off-by: NBob Sharp <bsharp@neteffect.com> Signed-off-by: NSweta Bhatt <sweta.bhatt@einfochips.com> Signed-off-by: NChien Tung <ctung@neteffect.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Bob Sharp 提交于
Re-enable multicast and unicast after changing MTU. Signed-off-by: NBob Sharp <bsharp@neteffect.com> Signed-off-by: NSweta Bhatt <sweta.bhatt@einfochips.com> Signed-off-by: NChien Tung <ctung@neteffect.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Bob Sharp 提交于
Signed-off-by: NBob Sharp <bsharp@neteffect.com> Signed-off-by: NSweta Bhatt <sweta.bhatt@einfochips.com> Signed-off-by: NChien Tung <ctung@neteffect.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Chien Tung 提交于
Clear MDC bits before setting them to a new value. Adjust MDC value for 10G. Signed-off-by: NSweta Bhatt <sweta.bhatt@einfochips.com> Signed-off-by: NChien Tung <ctung@neteffect.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Chien Tung 提交于
Add a module parameter wqm_quanta. It controls the number of segments transmitted at a time. Signed-off-by: NSweta Bhatt <sweta.bhatt@einfochips.com> Signed-off-by: NChien Tung <ctung@neteffect.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Chien Tung 提交于
Change permission to 0644 so root can set mpa_version, disable_mpa_crc, send_first, and nes_drv_opt at runtime. Signed-off-by: NSweta Bhatt <sweta.bhatt@einfochips.com> Signed-off-by: NChien Tung <ctung@neteffect.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Jon Mason 提交于
When running ibv_devinfo, the active_mtu returned is garbage. This is due to the field not being populated in the query_port function in the driver. The patch below populates the active_mtu field with a MTU of 2k. It also zeros the struct, so that any new additions to it will return 0. Signed-off-by: NJon Mason <jon@opengridcomputing.com> Acked-by: NSteve Wise <swise@opengridcomputing.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Chien Tung 提交于
Add support for NetEffect 4 port 1G HP blade card. The mapping between physical port and MAC is different from the standup card. Signed-off-by: NChien Tung <ctung@neteffect.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Faisal Latif 提交于
Signed-off-by: NFaisal Latif <flatif@neteffect.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
- 30 9月, 2008 2 次提交
-
-
由 Roland Dreier 提交于
Back in prehistoric (pre-git!) days, the kernel's MSI-X support did request_mem_region() on a device's MSI-X tables, which meant that a driver that enabled MSI-X couldn't use pci_request_regions() (since that would clash with the PCI layer's MSI-X request). However, that was removed (by me!) years ago, so mthca can just use pci_request_regions() and pci_release_regions() instead of its own much more complicated code that avoids requesting the MSI-X tables. Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Yannick Cote 提交于
Handle the case where posting a send is requested when the link is down. This fixes <https://bugs.openfabrics.org/show_bug.cgi?id=1117>. Signed-off-by: NYannick Cote <yannick.cote@qlogic.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
- 21 9月, 2008 3 次提交
-
-
由 Julia Lawall 提交于
A break after a return serves no purpose, remove it. Signed-off-by: NJulia Lawall <julia@diku.dk> Reviewed-by: NRichard Genoud <richard.genoud@gmail.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Ralph Campbell 提交于
The code to set the source LID in the sent LRH was not setting the low bits if LMC != 0 for RC/UC QPs. Signed-off-by: NRalph Campbell <ralph.campbell@qlogic.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Alexander Schmidt 提交于
When a QP goes into error state, it is required that CQ entries with a flush error status are delivered to the application for any outstanding work requests. eHCA does not do this in hardware, so this patch adds software flush CQE generation to the ehca driver. Whenever a QP gets into error state, it is added to the QP error list of its respective CQ. If the error QP list of a CQ is not empty, poll_cq() generates flush CQEs before polling the actual CQ. Signed-off-by: NAlexander Schmidt <alexs@linux.vnet.ibm.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
- 17 9月, 2008 1 次提交
-
-
由 Faisal Latif 提交于
Fix QP not being destroyed properly on the client, which leads to userspace programs hanging on exit. This is a missing chunk from the connection management rewrite in commit 6492cdf3 ("RDMA/nes: CM connection setup/teardown rework"). Signed-off-by: NFaisal Latif <flatif@neteffect.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
- 16 9月, 2008 1 次提交
-
-
由 Vladimir Sokolovsky 提交于
Byte swap the addresses in the page list for fast register work requests to big endian to match what the HCA expectx. Also, the addresses must have the "present" bit set so that the HCA knows it can access them. Otherwise the HCA will fault the first time it accesses the memory region. Signed-off-by: NVladimir Sokolovsky <vlad@mellanox.co.il> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
- 28 8月, 2008 1 次提交
-
-
由 Vladimir Sokolovsky 提交于
Initialize the L_Key and R_Key for memory regions returned from mlx4_ib_alloc_fast_reg_mr(). Otherwise callers just get garbage for the memory keys and can't do anything useful with these MRs. Signed-off-by: NVladimir Sokolovsky <vlad@mellanox.co.il> Signed-off-by: NRoland Dreier <rolandd@cisco.com> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 24 8月, 2008 1 次提交
-
-
由 Adrian Bunk 提交于
This patch lets the files using linux/version.h match the files that #include it. Signed-off-by: NAdrian Bunk <bunk@kernel.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 16 8月, 2008 2 次提交
-
-
由 Dave Olson 提交于
The check for max physical address was incorrect, thus limiting the range of allowed physical addresses. Signed-off-by: NDave Olson <dave.olson@qlogic.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
由 Ralph Campbell 提交于
If a UD QP has some work requests queued to be sent by the DMA engine followed by a local loopback work request, we have to wait for the previous work requests to finish or the completion for the local loopback work request would be generated out of order. The problem was that the work request queue pointer was already updated so that the request would not be processed when the DMA queue drained. Signed-off-by: NRalph Campbell <ralph.campbell@qlogic.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-
- 13 8月, 2008 1 次提交
-
-
由 Alexander Schmidt 提交于
Under rare circumstances, the ehca hardware might erroneously generate two CQEs for the same WQE, which is not compliant to the IB spec and will cause unpredictable errors like memory being freed twice. To avoid this problem, the driver needs to detect the second CQE and discard it. For this purpose, introduce an array holding as many elements as the SQ of the QP, called sq_map. Each sq_map entry stores a "reported" flag for one WQE in the SQ. When a work request is posted to the SQ, the respective "reported" flag is set to zero. After the arrival of a CQE, the flag is set to 1, which allows to detect the occurence of a second CQE. The mapping between WQE / CQE and the corresponding sq_map element is implemented by replacing the lowest 16 Bits of the wr_id with the index in the queue map. The original 16 Bits are stored in the sq_map entry and are restored when the CQE is passed to the application. Signed-off-by: NAlexander Schmidt <alexs@linux.vnet.ibm.com> Signed-off-by: NRoland Dreier <rolandd@cisco.com>
-