Re: What breaks aic7xxx in post 2.6.12-rc2 ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 17, 2005 at 04:06:11PM -0500, James Bottomley wrote:

> Well, the attached is what I'd like you to try, capturing the
> information from the initial inquiry on ... it will be quite a bit.
> 
> Hopefully it will give me a clearer idea of what's going on.

I have found a way to fetch the console :-)

Against which kernel revision is your patch made for ?

Thank you very much :-)

> Thanks,
> 
> James
> 
> --- a/drivers/scsi/scsi_transport_spi.c
> +++ b/drivers/scsi/scsi_transport_spi.c
> @@ -669,14 +669,23 @@ spi_dv_retrain(struct scsi_request *sreq
>  {
>  	struct spi_internal *i = to_spi_internal(sreq->sr_host->transportt);
>  	struct scsi_device *sdev = sreq->sr_device;
> +	struct scsi_target *starget = sdev->sdev_target;
>  	int period = 0, prevperiod = 0; 
>  	enum spi_compare_returns retval;
>  
>  
>  	for (;;) {
>  		int newperiod;
> +
>  		retval = compare_fn(sreq, buffer, ptr, DV_LOOPS);
>  
> +		if(i->f->get_period)
> +			i->f->get_period(starget);
> +		if (i->f->get_offset)
> +			i->f->get_offset(starget);
> +
> +		spi_display_xfer_agreement(starget);
> +
>  		if (retval == SPI_COMPARE_SUCCESS
>  		    || retval == SPI_COMPARE_SKIP_TEST)
>  			break;
> @@ -765,6 +774,8 @@ spi_dv_device_internal(struct scsi_reque
>  	/* first set us up for narrow async */
>  	DV_SET(offset, 0);
>  	DV_SET(width, 0);
> +
> +	printk("BEGINNING ASYNC, inq len = %d\n", sdev->inquiry_len);
>  	
>  	if (spi_dv_device_compare_inquiry(sreq, buffer, buffer, DV_LOOPS)
>  	    != SPI_COMPARE_SUCCESS) {
> @@ -773,11 +784,13 @@ spi_dv_device_internal(struct scsi_reque
>  		return;
>  	}
>  
> +	printk("ASYNC INQUIRY SUCCEEDED\n");
> +
>  	/* test width */
>  	if (i->f->set_width && spi_max_width(starget) && sdev->wdtr) {
>  		i->f->set_width(sdev->sdev_target, 1);
>  
> -		printk("WIDTH IS %d\n", spi_max_width(starget));
> +		printk("TRYING WIDE ASYNC INQUIRY\n");
>  
>  		if (spi_dv_device_compare_inquiry(sreq, buffer,
>  						   buffer + len,
> @@ -802,12 +815,17 @@ spi_dv_device_internal(struct scsi_reque
>  	if (sdev->ppr)
>  		len = spi_dv_device_get_echo_buffer(sreq, buffer);
>  
> +	printk("ECHO BUFFER HAS LEN %d\n", len);
> +
>   retry:
>  
>  	/* now set up to the maximum */
>  	DV_SET(offset, spi_max_offset(starget));
>  	DV_SET(period, spi_min_period(starget));
>  
> +	printk("DV SETTING TO period %d, offset %d\n", spi_min_period(starget),
> +	       spi_max_offset(starget));
> +
>  	if (len == 0) {
>  		SPI_PRINTK(sdev->sdev_target, KERN_INFO, "Domain Validation skipping write tests\n");
>  		spi_dv_retrain(sreq, buffer, buffer + len,
> 

-- 
	Grégoire Favre
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux