Re: [bug#12874] Seagate STT20000A no longer works

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

 



On Fri, Apr 10, 2009 at 07:42:47PM +0200, Borislav Petkov wrote:
> Now, without having tested it since I don't have the hardware, would
> something in the lines below be a sensible kludge for now? I guess we
> should have similar error handling for the other MODE SENSE call sites
> and propagate some error status from idetape_get_mode_sense_results()
> upwards to idetape_setup()? 

I tested with 'tmp fix 2' [1] and 'dump drive caps and dbg rqs' [2] and
the patch below applied and had another divide error. Attached the full
dmesg. 

> Yeah, I know, the driver needs a lot of massaging in order even to
> start looking ok... :)

:-)

Do you want me to do the full caps debug test [3] ?

Another question; I'm still using 2.6.29-rc7 as test kernel, do you
prefer to keep using that version or move to 2.6.30-rc1?

[1] http://bugzilla.kernel.org/attachment.cgi?id=20822
[2] http://bugzilla.kernel.org/attachment.cgi?id=20873
[3] http://bugzilla.kernel.org/show_bug.cgi?id=12874#c20

-- 
Regards,
Mark de Wever

> __
> 
> diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
> index 70e7876..827485a 100644
> --- a/drivers/ide/ide-tape.c
> +++ b/drivers/ide/ide-tape.c
> @@ -2095,6 +2095,21 @@ static void idetape_get_mode_sense_results(ide_drive_t *drive)
>  		put_unaligned(540,  (u16 *)&tape->caps[14]);
>  		put_unaligned(6*52, (u16 *)&tape->caps[16]);
>  		return;
> +
> +	} else if ((pc.buf[0] & 0x7f) == 0x70) {
> +		/* unit attention: power on reset or device reset/not ready to
> +		 * ready transition */
> +		if ((pc.buf[2] & 0xf) == 0x6 &&
> +		     (pc.buf[12] == 0x29 || pc.buf[12] == 0x28) &&
> +		     pc.buf[13] == 0x0) {
> +			tape->failed_pc = &pc;
> +			ide_retry_pc(drive, tape->disk);
> +		}
> +		else {
> +			printk(KERN_ERR "%s: error getting caps page\n",
> +					drive->name);
> +			return;
> +		}
>  	}
>  	caps = pc.buf + 4 + pc.buf[3];
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux