Commit 7a1c0b79 authored by Sergei Shtylyov's avatar Sergei Shtylyov Committed by Martin K. Petersen
Browse files

scsi: fdomain: use BSTAT_{MSG|CMD|IO} in fdomain_work()



Commit 1697c6a6 ("scsi: fdomain: Add register definitions") somehow
missed the masking of the 'status' variable with the SCSI phase mask in
fdomain_work(), leaving the magic number intact. Fix this issue; while at
it, change the order of BSTAT_{MSG|CMD|IO} bits in the MESSAGE IN
phase *case* (with no change in the generated object file).

Fixes: 1697c6a6 ("scsi: fdomain: Add register definitions")
Signed-off-by: default avatarSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent a9651be7
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -306,7 +306,7 @@ static void fdomain_work(struct work_struct *work)
	status = inb(fd->base + REG_BSTAT);

	if (status & BSTAT_REQ) {
		switch (status & 0x0e) {
		switch (status & (BSTAT_MSG | BSTAT_CMD | BSTAT_IO)) {
		case BSTAT_CMD:	/* COMMAND OUT */
			outb(cmd->cmnd[cmd->SCp.sent_command++],
			     fd->base + REG_SCSI_DATA);
@@ -331,7 +331,7 @@ static void fdomain_work(struct work_struct *work)
		case BSTAT_MSG | BSTAT_CMD:	/* MESSAGE OUT */
			outb(MESSAGE_REJECT, fd->base + REG_SCSI_DATA);
			break;
		case BSTAT_MSG | BSTAT_IO | BSTAT_CMD:	/* MESSAGE IN */
		case BSTAT_MSG | BSTAT_CMD | BSTAT_IO:	/* MESSAGE IN */
			cmd->SCp.Message = inb(fd->base + REG_SCSI_DATA);
			if (!cmd->SCp.Message)
				++done;