]> www.infradead.org Git - users/jedix/linux-maple.git/commit
sif: Fix regressions in supporting fw from release 0.1.0.4 and earlier
authorKnut Omang <knut.omang@oracle.com>
Mon, 30 May 2016 12:12:39 +0000 (14:12 +0200)
committerKnut Omang <knut.omang@oracle.com>
Sun, 3 Jul 2016 14:01:37 +0000 (16:01 +0200)
commit36fb906193f1fe9ac3345dd307459abfa91e9fd7
tree6d0439f21d67bcfbcb251e3846717d769f355899
parent61b019b64ae6788403dcd6cd35a896bc2851c21b
sif: Fix regressions in supporting fw from release 0.1.0.4 and earlier

Orabug: 23497496

This commit fixes two separate regressions in handling the old fw:

1) Teardown of the dne_qp happens only with older FWs because the newer
   firmwares implements the dne_qp handling in fw, so
   driver does not invoke the teardown code. This teardown code
   uses generic calls that has been implicitly amended
   to by the WA for Bug #4074, which also assumed that all QPs
   subject to that call has a valid send queue. The DNE QPs don't
   and this causes a null pointer exception, which is triggered
   both during driver unload and as a side effect of lid changes.
2) EPSC support for SL to TSL mapping was introduced in EPSC API v.0.56
   but was broken - this causes the driver to set wrong values
   which leads to modify_qp errors. The fix is just to avoid putting
   the map to use unless epsc version is >= 0.57.

Signed-off-by: Knut Omang <knut.omang@oracle.com>
drivers/infiniband/hw/sif/sif_hwi.c
drivers/infiniband/hw/sif/sif_r3.c