summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Schmidt <alexs@linux.vnet.ibm.com>2010-02-16 08:59:50 +0000
committerRoland Dreier <rolandd@cisco.com>2010-02-19 11:13:39 -0800
commit45e354e3f235ecb51e16576d6668c43cddbb6e68 (patch)
tree8bbcb9c6925d79460e2c13e5c9f9e0a0a4cece22
parentfa55e30bc35bf4ec5a7304a537c0ce5438e908e2 (diff)
downloadop-kernel-dev-45e354e3f235ecb51e16576d6668c43cddbb6e68.zip
op-kernel-dev-45e354e3f235ecb51e16576d6668c43cddbb6e68.tar.gz
IB/ehca: Require in_wc in process_mad()
If the caller does not pass a valid in_wc to process_mad(), return MAD failure status, as it is not possible to generate a valid MAD redirect response (and redirects are the only MAD responses ehca generates). Signed-off-by: Alexander Schmidt <alexs@linux.vnet.ibm.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
-rw-r--r--drivers/infiniband/hw/ehca/ehca_sqp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/ehca/ehca_sqp.c b/drivers/infiniband/hw/ehca/ehca_sqp.c
index 8c1213f..dba8f9f 100644
--- a/drivers/infiniband/hw/ehca/ehca_sqp.c
+++ b/drivers/infiniband/hw/ehca/ehca_sqp.c
@@ -222,7 +222,7 @@ int ehca_process_mad(struct ib_device *ibdev, int mad_flags, u8 port_num,
{
int ret;
- if (!port_num || port_num > ibdev->phys_port_cnt)
+ if (!port_num || port_num > ibdev->phys_port_cnt || !in_wc)
return IB_MAD_RESULT_FAILURE;
/* accept only pma request */
OpenPOWER on IntegriCloud