]> git.baikalelectronics.ru Git - kernel.git/commit
staging/rdma/hfi1: Workaround to prevent corruption during packet delivery
authorMark F. Brown <mark.f.brown@intel.com>
Tue, 10 Nov 2015 00:18:20 +0000 (19:18 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 20 Nov 2015 00:58:14 +0000 (16:58 -0800)
commit91df2e369434762d030090316b034fba79c885f1
treee615acff8a9edd3d1d285a8db63230ab7b32459f
parent925be2247da38f7d8490f24696ad49257ef84c65
staging/rdma/hfi1: Workaround to prevent corruption during packet delivery

Disabling one receive context when RX_DMA is receiving a packet can cause
incorrect packet delivery for a subsequent packet on another receive
context.

This is resolved by doing the following:
1. Programming dummy tail address for every receive context
   before enabling it
2. While deallocating receive context resetting tail address
   to dummy address
3. Leaving the dummy address in when disabling tail update
4. When disabling receive context leaving tail update enabled

Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Reviewed-by: Mitko Haralanov <mitko.haralanov@intel.com>
Signed-off-by: Mark F. Brown <mark.f.brown@intel.com>
Signed-off-by: Jubin John <jubin.john@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rdma/hfi1/chip.c
drivers/staging/rdma/hfi1/hfi.h
drivers/staging/rdma/hfi1/init.c