Home
last modified time | relevance | path

Searched hist:e2396f1e4ecd438a15fa653a028b93e95013caa3 (Results 1 – 3 of 3) sorted by relevance

/openbmc/linux/drivers/scsi/aic94xx/
H A Daic94xx_hwi.hdiff e2396f1e4ecd438a15fa653a028b93e95013caa3 Sat Feb 23 23:44:19 CST 2008 James Bottomley <James.Bottomley@HansenPartnership.com> [SCSI] aic94xx: fix TMF ascb handling to prevent sequencer panic

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>
H A Daic94xx_task.cdiff e2396f1e4ecd438a15fa653a028b93e95013caa3 Sat Feb 23 23:44:19 CST 2008 James Bottomley <James.Bottomley@HansenPartnership.com> [SCSI] aic94xx: fix TMF ascb handling to prevent sequencer panic

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>
H A Daic94xx_tmf.cdiff e2396f1e4ecd438a15fa653a028b93e95013caa3 Sat Feb 23 23:44:19 CST 2008 James Bottomley <James.Bottomley@HansenPartnership.com> [SCSI] aic94xx: fix TMF ascb handling to prevent sequencer panic

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>