IB/mlx5: Support IB_WR_REG_SIG_MR
Hello Sagi Grimberg,
The patch e6631814fb3a: "IB/mlx5: Support IB_WR_REG_SIG_MR" from Feb 23, 2014, leads to the following static checker warning:
drivers/infiniband/ulp/ipoib/ipoib_cm.c:764 ipoib_cm_send()
warn: 'rc' can be either negative or positive
drivers/infiniband/hw/mlx5/qp.c
2417 static int set_psv_wr(struct ib_sig_domain *domain,
2418 u32 psv_idx, void **seg, int *size)
2419 {
2420 struct mlx5_seg_set_psv *psv_seg = *seg;
2421
2422 memset(psv_seg, 0, sizeof(*psv_seg));
2423 psv_seg->psv_num = cpu_to_be32(psv_idx);
2424 switch (domain->sig_type) {
2425 case IB_SIG_TYPE_NONE: 2426 break;
2427 case IB_SIG_TYPE_T10_DIF:
2428 psv_seg->transient_sig = cpu_to_be32(domain->sig.dif.bg << 16 |
2429 domain->sig.dif.app_tag);
2430 psv_seg->ref_tag = cpu_to_be32(domain->sig.dif.ref_tag);
2431 break;
2432 default:
2433 pr_err("Bad signature type given.\n");
2434 return 1;
Probably we should return -EINVAL here? It actually really upsets the static checker because all the callers expect negative error codes and there are lot of callers.
2435 } 2436 2437 *seg += sizeof(*psv_seg); 2438 *size += sizeof(*psv_seg) / 16; 2439 2440 return 0; 2441 }
regards,
dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 28 lines · Dan Carpenter
Hello Sagi Grimberg,
The patch
e6631814fb3a: "IB/mlx5: SupportIB_WR_REG_SIG_MR" from Feb 23, 2014, leads to the following static checker warning:
drivers/infiniband/ulp/ipoib/ipoib_cm.c:764ipoib_cm_send()
warn: 'rc' can be either negative or positive
drivers/infiniband/hw/mlx5/qp.c
2417 static int set_psv_wr(structib_sig_domain*domain,
2418 u32psv_idx, void **seg, int *size)2419 { 2420 struct mlx5_seg_set_psv *psv_seg = *seg; 2421 2422 memset(psv_seg, 0, sizeof(*psv_seg)); 2423 psv_seg->psv_num = cpu_to_be32(psv_idx); 2424 switch (domain->sig_type) { 2425 case IB_SIG_TYPE_NONE: 2426 break; 2427 case IB_SIG_TYPE_T10_DIF: 2428 psv_seg->transient_sig = cpu_to_be32(domain->sig.dif.bg << 16 | 2429 domain->sig.dif.app_tag); 2430 psv_seg->ref_tag = cpu_to_be32(domain->sig.dif.ref_tag); 2431 break; 2432 default: 2433 pr_err("Bad signature type given.\n"); 2434 return 1;
Quoted 3 lines
Probably we should return
-EINVALhere? It actually really upsets the static checker because all the callers expect negative error codes and there are lot of callers.
I'll send out a fix for it.
Thanks Dan.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html