-
由 Shlomo Pongratz 提交于
The driver creates "NAPI" context per core which is fine, however the above routine declares the ret variable as static! Thus there is only one instance of this variable! When this routine is called from more than one thread of execution, than the result is unpredictable. static unsigned int ret; ..... ret = beiscsi_process_cq(pbe_eq); <--------Another thread can enter here and change "ret". if (ret < budget) { .... } <--------Another thread can enter here and change "ret". return ret; Fix - remove the "static" Signed-off-by: NShlomo Pongratz <shlomop@mellanox.com> Signed-off-by: NJayamohan Kallickal <jayamohan.kallickal@emulex.com> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
ad3f428e