On Tue, Jul 16, 2013 at 02:38:03PM -0700, Nicholas A. Bellinger wrote: > [ 7.927818] scsi_execute(): Calling blk_mq_free_request >>> > [ 7.927826] scsi 0:0:0:0: Direct-Access ATA ST9500530NS CC03 PQ: 0 ANSI: 5 > > OK, so INQUIRY response payload is looking as expected here. Yep. It is not on the top of my head, but I remember something like INQUIRYs are emulated and thus do not have payload. > [ 7.927960] sd 0:0:0:0: [sda] Sector size 0 reported, assuming 512. > [ 7.927964] sd 0:0:0:0: [sda] 1 512-byte logical blocks: (512 B/512 B) > [ 7.927965] sd 0:0:0:0: [sda] 0-byte physical blocks > > Strange.. READ_CAPACITY appears to be returning a payload as zeros..? Yep. Because blk_execute_rq() does not put the proper callback and data do not get copied from sg's to bounce buffer. That is why I tried to use blk_mq_execute_rq() instead. Once I do that, data start getting read and booting stops elsewhere. Of course, I was suspecting that change alone is not valid and wondered about the status of scsi-mq in the first place, and if more changes are coming. So I it turns out "req->errors + req->resid_len" issue (you described earlier) needs to be addressed before going forward with libata (only?). > Not sure why yet some control CDBs are getting back the expected > payload, while others are returning zeros.. Bio buffers do not get updated from callback. > Also, looking at the included stack back-trace: [...] Thanks a lot for these and other your comments, Nicholas! -- Regards, Alexander Gordeev agordeev@xxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html