Several reported instances of boot hangs ("still waiting for xpt_config") for hptrr

From: Bernhard Schmidt <scb+freebsd-current_at_techwires.net>
Date: Sun, 16 Aug 2009 14:51:25 +0200
Hi,

I do have a Highpoint RocketRaid 2220 controller myself which throws  
similar errors since the release of 8.0-BETA2. Tracking the commits, I  
could narrow it down to r195534.

The issue is, that htprr makes use of xpt_scan_bus() which ist no  
longer available in xpt_action[_default]() when cpi->transport is not  
set to one of XPORT_*. This probably affects all drivers relying upon  
xpt_scan_bus() but not setting cpi->transport.


This patch has been tested against latest head and stable/8 with no  
more issues for me.


Index: sys/dev/hptrr/hptrr_osm_bsd.c
===================================================================
--- sys/dev/hptrr/hptrr_osm_bsd.c	(revision 196273)
+++ sys/dev/hptrr/hptrr_osm_bsd.c	(working copy)
_at__at_ -814,6 +814,10 _at__at_
  		strncpy(cpi->sim_vid, "FreeBSD", SIM_IDLEN);
  		strncpy(cpi->hba_vid, "HPT   ", HBA_IDLEN);
  		strncpy(cpi->dev_name, cam_sim_name(sim), DEV_IDLEN);
+		cpi->transport = XPORT_SPI;
+		cpi->transport_version = 2;
+		cpi->protocol = PROTO_SCSI;
+		cpi->protocol_version = SCSI_REV_2;
  		cpi->ccb_h.status = CAM_REQ_CMP;
  		break;
  	}
Received on Sun Aug 16 2009 - 11:02:53 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:53 UTC