On 30/09/2021 08:21, Arnd Bergmann wrote:
On Wed, Sep 15, 2021 at 11:16 AM John Garry<john.garry@xxxxxxxxxx> wrote:
From: Hannes Reinecke<hare@xxxxxxx>
The acornscsi driver has a config option to enable tagged queuing,
but this option gets disabled in the driver itself with the comment
'needs to be debugged'.
As this is a_really_ old driver I doubt anyone will be wanting to
invest time here, so remove the tagged queue vestiges and make
our live easier.
Signed-off-by: Hannes Reinecke<hare@xxxxxxx>
jpg: Use scsi_cmd_to_rq()
Signed-off-by: John Garry<john.garry@xxxxxxxxxx>
A few thousand randconfig builds later, I actually came across
building this driver.
@@ -1821,7 +1776,7 @@ int acornscsi_reconnect_finish(AS_Host *host)
host->scsi.disconnectable = 0;
if (host->SCpnt->device->id == host->scsi.reconnected.target &&
host->SCpnt->device->lun == host->scsi.reconnected.lun &&
- host->SCpnt->tag == host->scsi.reconnected.tag) {
+ scsi_cmd_to_tag(host->SCpnt) == host->scsi.reconnected.tag) {
#if (DEBUG & (DEBUG_QUEUES|DEBUG_DISCON))
DBG(host->SCpnt, printk("scsi%d.%c: reconnected",
host->host->host_no, acornscsi_target(host)));
drivers/scsi/arm/acornscsi.c: In function 'acornscsi_reconnect_finish':
drivers/scsi/arm/acornscsi.c:1779:6: error: implicit declaration of
function 'scsi_cmd_to_tag'; did you mean 'scsi_cmd_to_rq'?
[-Werror=implicit-function-declaration]
scsi_cmd_to_tag(host->SCpnt) == host->scsi.reconnected.tag) {
^~~~~~~~~~~~~~~
scsi_cmd_to_rq
I have no idea what this is meant to do instead, but scsi_cmd_to_tag()
does not appear to be defined in any kernel I can find.
Hannes added new function scsi_cmd_to_tag() in v1 series, but I removed
it when I reposted the v2 series. But then missed this reference.
I think the build fix should be as follows:
--- a/drivers/scsi/arm/acornscsi.c
+++ b/drivers/scsi/arm/acornscsi.c
@@ -1776,7 +1776,7 @@ int acornscsi_reconnect_finish(AS_Host *host)
host->scsi.disconnectable = 0;
if (host->SCpnt->device->id == host->scsi.reconnected.target &&
host->SCpnt->device->lun == host->scsi.reconnected.lun &&
- scsi_cmd_to_tag(host->SCpnt) == host->scsi.reconnected.tag) {
+ scsi_cmd_to_rq(host->SCpnt)->tag ==
host->scsi.reconnected.tag) {
Let me know if you want us to post a patch for this.
Thanks,
John