Messages in this thread Patch in this message | | | Subject | Re: regression: CD burning (k3b) went broke | From | Mike Galbraith <> | Date | Tue, 26 Feb 2008 14:36:43 +0100 |
| |
On Tue, 2008-02-26 at 10:48 +0100, Mike Galbraith wrote: > Greetings, > > I straced both a good and a bad kernel (good being .git with attached > revert patch applied) and filtered/diffed/merged the output. Scroll > down to "HERE" to see the problem (resid). > > I'm poking around, but not having much luck.
Seems the problem is data_len changes, but raw_data_len doesn't. I've not the foggiest IO-land clue, but k3b works again, so the below may have some diagnostic value.
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index ba21d97..7a6f784 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c @@ -871,7 +871,7 @@ void scsi_io_completion(struct scsi_cmnd *cmd, unsigned int good_bytes) scsi_end_bidi_request(cmd); return; } - req->data_len = scsi_get_resid(cmd); + req->data_len = req->raw_data_len = scsi_get_resid(cmd); } BUG_ON(blk_bidi_rq(req)); /* bidi not support for !blk_pc_request yet */ -Mike
| |