I ran into this one sending bus resets across the hardware. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
@@ -1617,9 +1617,9 @@ ahd_send_async(struct ahd_softc *ahd, char channel,
* are identical to those last reported.
*/
starget = ahd->platform_data->starget[target];
- targ = scsi_transport_target_data(starget);
- if (targ == NULL)
+ if (starget == NULL)
break;
+ targ = scsi_transport_target_data(starget);
target_ppr_options =
(spi_dt(starget) ? MSG_EXT_PPR_DT_REQ : 0)
@@ -1618,9 +1618,9 @@ ahc_send_async(struct ahc_softc *ahc, char channel,
if (channel == 'B')
target_offset += 8;
starget = ahc->platform_data->starget[target_offset];