Skip to contentSkip to conversation

aic79xx: Avoid renegotiation on inquiry

PATCH New Hannes Reinecke 1 participant 1 message Mar 8, 2006

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 7/7 aic79xx: Avoid renegotiation on inquiry

Because of some quirk in the SCSI spec the aic79xx driver chose to force a renegotiation when sending an inquiry. This should better be handled by the upper layers if required at all.

Signature · 4 lines
Dr. Hannes Reinecke			[email protected]
SuSE Linux Products GmbH		S390 & zSeries
Maxfeldstraße 5				+49 911 74053 688
90409 Nürnberg				http://www.suse.de

[PATCH 07/07] aic79xx: Avoid renegotiation on inquiry

Because of some quirk in the SCSI spec the aic79xx driver chose to force a renegotiation when sending an inquiry. This should better be handled by the upper layers if required at all.

---

 drivers/scsi/aic7xxx/aic79xx_osm.c |   24 ------------------------
 1 files changed, 0 insertions(+), 24 deletions(-)

856120bb85cf6555ef268d62fcbc0fb404d7b06e

drivers/scsi/aic7xxx/aic79xx_osm.c +0 -24
index 7b9dbef..c97ef05 100644
@@ -1526,30 +1526,6 @@ ahd_linux_run_command(struct ahd_softc *
 	if ((tstate->auto_negotiate & mask) != 0) {
 		scb->flags |= SCB_AUTO_NEGOTIATE;
 		scb->hscb->control |= MK_MESSAGE;
-		} else if (cmd->cmnd[0] == INQUIRY
-			&& (tinfo->curr.offset != 0
-			 || tinfo->curr.width != MSG_EXT_WDTR_BUS_8_BIT
-			 || tinfo->curr.ppr_options != 0)
-			&& (tinfo->curr.ppr_options & MSG_EXT_PPR_IU_REQ)==0) {
-			/*
-			 * The SCSI spec requires inquiry
-			 * commands to complete without
-			 * reporting unit attention conditions.
-			 * Because of this, an inquiry command
-			 * that occurs just after a device is
-			 * reset will result in a data phase
-			 * with mismatched negotiated rates.
-			 * The core already forces a renegotiation
-			 * for reset events that are visible to
-			 * our controller or that we initiate,
-			 * but a third party device reset or a
-			 * hot-plug insertion can still cause this
-			 * issue.  Therefore, we force a re-negotiation
-			 * for every inquiry command unless we
-			 * are async.
-			 */
-			scb->flags |= SCB_NEGOTIATE;
-			scb->hscb->control |= MK_MESSAGE;
 	}
 
 	if ((dev->flags & (AHD_DEV_Q_TAGGED|AHD_DEV_Q_BASIC)) != 0) {
Signature · 1 line
1.1.3