IB/mad: Set 'D' bit in response for unhandled MADs
Commit 0b30704304
("IB/mad: Return error response for unsupported
MADs") does not handle directed-route MADs properly -- it fails to set
the 'D' bit in the response MAD status field. This is a problem for
SmInfo MADs when the receiver does not have an SM running.
Reviewed-by: Hal Rosenstock <hal@mellanox.com>
Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:
parent
0034102808
commit
840777de53
|
@ -1854,6 +1854,8 @@ static bool generate_unmatched_resp(struct ib_mad_private *recv,
|
|||
response->mad.mad.mad_hdr.method = IB_MGMT_METHOD_GET_RESP;
|
||||
response->mad.mad.mad_hdr.status =
|
||||
cpu_to_be16(IB_MGMT_MAD_STATUS_UNSUPPORTED_METHOD_ATTRIB);
|
||||
if (recv->mad.mad.mad_hdr.mgmt_class == IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE)
|
||||
response->mad.mad.mad_hdr.status |= IB_SMP_DIRECTION;
|
||||
|
||||
return true;
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue