ahd_schedule_runq(ahd); 
ahd_release_simq(struct ahd_softc *ahd){	u_long s;	int    unblock_reqs;	unblock_reqs = 0;	ahd_lock(ahd, &s);	if (ahd->platform_data->qfrozen > 0)		ahd->platform_data->qfrozen--;	if (ahd->platform_data->qfrozen == 0) {		unblock_reqs = 1;	}	if (AHD_DV_SIMQ_FROZEN(ahd)	 && ((ahd->platform_data->flags & AHD_DV_WAIT_SIMQ_RELEASE) != 0)) {		ahd->platform_data->flags &= ~AHD_DV_WAIT_SIMQ_RELEASE;		up(&ahd->platform_data->dv_sem);	}	ahd_schedule_runq(ahd);	ahd_unlock(ahd, &s);	/*	 * There is still a race here.  The mid-layer	 * should keep its own freeze count and use	 * a bottom half handler to run the queues	 * so we can unblock with our own lock held.	 */	if (unblock_reqs)		scsi_unblock_requests(ahd->platform_data->host);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/60a13213840296b1e32d6781653a0eaa83d04382/aic79xx_osm.c/clean/drivers/scsi/aic7xxx/aic79xx_osm.c