e2396f1e4e
This is a particularly nasty bug. The problem is that if any internal ascb times out, currently we free it even though it's pending at the sequencer. This results in the sequencer getting terminally confused and the error message: BUG:sequencer:dl:no ascb Being returned when it comes back. The way to fix this is to manage freeing the ascb from the tasklet completion routine, so that we only free it when the sequencer actually returns it. The code is also altered to use on stack completions and transfer variables. Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com> |
||
---|---|---|
.. | ||
aic94xx.h | ||
aic94xx_dev.c | ||
aic94xx_dump.c | ||
aic94xx_dump.h | ||
aic94xx_hwi.c | ||
aic94xx_hwi.h | ||
aic94xx_init.c | ||
aic94xx_reg.c | ||
aic94xx_reg.h | ||
aic94xx_reg_def.h | ||
aic94xx_sas.h | ||
aic94xx_scb.c | ||
aic94xx_sds.c | ||
aic94xx_sds.h | ||
aic94xx_seq.c | ||
aic94xx_seq.h | ||
aic94xx_task.c | ||
aic94xx_tmf.c | ||
Kconfig | ||
Makefile |