libata: fix bug with non-ncq devices
The recent commit 2fca5ccf ("libata: switch to using block layer tagging support") to enable support for block layer tagging in libata was broken for non-NCQ devices The block layer initializes the tag field to -1 to detect invalid uses of a tag, and if the libata devices does NOT support NCQ, we just used that field to index the internal command list. So we need to check for -1 first and only use the tag field if it's valid. Signed-off-by: NJens Axboe <jens.axboe@oracle.com> Reported-by: NAlexander Beregalov <a.beregalov@gmail.com> Tested-by: NPaul Mundt <lethal@linux-sh.org> Tested-by: NDave Young <hidave.darkstar@gmail.com> Tested-by: NRafael J. Wysocki <rjw@sisk.pl> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
Showing
想要评论请 注册 或 登录