Skip to content

Commit 8c4037b

Browse files
committed
IB/srp: always avoid non-zero offsets into an FMR
It is unclear exactly how this code works around Mellanox SRP targets, or if the problem is on the target side or in the HCA itself. In an abundance of caution, we should always enable the workaround. Signed-off-by: David Dillow <[email protected]>
1 parent 521cb40 commit 8c4037b

File tree

1 file changed

+1
-16
lines changed

1 file changed

+1
-16
lines changed

drivers/infiniband/ulp/srp/ib_srp.c

+1-16
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,6 @@ module_param(topspin_workarounds, int, 0444);
7272
MODULE_PARM_DESC(topspin_workarounds,
7373
"Enable workarounds for Topspin/Cisco SRP target bugs if != 0");
7474

75-
static int mellanox_workarounds = 1;
76-
77-
module_param(mellanox_workarounds, int, 0444);
78-
MODULE_PARM_DESC(mellanox_workarounds,
79-
"Enable workarounds for Mellanox SRP target bugs if != 0");
80-
8175
static void srp_add_one(struct ib_device *device);
8276
static void srp_remove_one(struct ib_device *device);
8377
static void srp_recv_completion(struct ib_cq *cq, void *target_ptr);
@@ -114,14 +108,6 @@ static int srp_target_is_topspin(struct srp_target_port *target)
114108
!memcmp(&target->ioc_guid, cisco_oui, sizeof cisco_oui));
115109
}
116110

117-
static int srp_target_is_mellanox(struct srp_target_port *target)
118-
{
119-
static const u8 mellanox_oui[3] = { 0x00, 0x02, 0xc9 };
120-
121-
return mellanox_workarounds &&
122-
!memcmp(&target->ioc_guid, mellanox_oui, sizeof mellanox_oui);
123-
}
124-
125111
static struct srp_iu *srp_alloc_iu(struct srp_host *host, size_t size,
126112
gfp_t gfp_mask,
127113
enum dma_data_direction direction)
@@ -662,8 +648,7 @@ static int srp_map_fmr(struct srp_target_port *target, struct scatterlist *scat,
662648
if (!dev->fmr_pool)
663649
return -ENODEV;
664650

665-
if (srp_target_is_mellanox(target) &&
666-
(ib_sg_dma_address(ibdev, &scat[0]) & ~dev->fmr_page_mask))
651+
if (ib_sg_dma_address(ibdev, &scat[0]) & ~dev->fmr_page_mask)
667652
return -EINVAL;
668653

669654
len = page_cnt = 0;

0 commit comments

Comments
 (0)