lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 1 May 2007 21:46:23 +0100
From:	Christoph Hellwig <hch@...radead.org>
To:	Geert Uytterhoeven <geert@...ux-m68k.org>
Cc:	Linus Torvalds <torvalds@...ux-foundation.org>,
	Andrew Morton <akpm@...ux-foundation.org>,
	linux-m68k@...r.kernel.org, linux-kernel@...r.kernel.org,
	"James E.J. Bottomley" <James.Bottomley@...elEye.com>,
	Michael Schmitz <schmitz@...ian.org>,
	Roman Zippel <zippel@...ux-m68k.org>
Subject: Re: [patch 01/33] m68k: Atari SCSI revival

On Tue, May 01, 2007 at 10:32:35PM +0200, Geert Uytterhoeven wrote:
> From: Michael Schmitz <schmitz@...l.biophys.uni-duesseldorf.de>
> 
> SCSI should be working on a TT (but someone should really try!) but causes
> trouble on a Falcon (as in: it ate a filesystem of mine) at least when
> used concurrently with IDE. I have the notion it's because locking of the
> ST-DMA interrupt by IDE is broken in 2.6 (the IDE driver always complains
> about trying to release an already-released ST-DMA). Needs more work, but
> that's on the IDE or m68k interrupt side rather than SCSI.

>  /* 
> + * our own old-style timeout update
> + */
> +/*
> + * The strategy is to cause the timer code to call scsi_times_out()
> + * when the soonest timeout is pending.
> + * The arguments are used when we are queueing a new command, because
> + * we do not want to subtract the time used from this time, but when we
> + * set the timer, we want to take this value into account.
> + */
> +
> +int atari_scsi_update_timeout(Scsi_Cmnd * SCset, int timeout)
> +{
> +    int rtn;
> +
> +    /*
> +     * We are using the new error handling code to actually register/deregister
> +     * timers for timeout.
> +     */
> +
> +    if (!timer_pending(&SCset->eh_timeout)) {
> +	rtn = 0;
> +    } else {
> +	rtn = SCset->eh_timeout.expires - jiffies;
> +    }
> +
> +    if (timeout == 0) {
> +        del_timer(&SCset->eh_timeout);
> +        SCset->eh_timeout.data = (unsigned long) NULL;
> +        SCset->eh_timeout.expires = 0;
> +    } else {
> +        if (SCset->eh_timeout.data != (unsigned long) NULL) 
> +            del_timer(&SCset->eh_timeout);
> +        SCset->eh_timeout.data = (unsigned long) SCset;
> +        SCset->eh_timeout.expires = jiffies + timeout;
> +        add_timer(&SCset->eh_timeout);
> +    }
> +	return rtn;
> +}

NACK, driver have no business messing around with eh_timeout.

> +/* former generic SCSI error handling stuff */
> +
> +#define SCSI_ABORT_SNOOZE 0
> +#define SCSI_ABORT_SUCCESS 1
> +#define SCSI_ABORT_PENDING 2
> +#define SCSI_ABORT_BUSY 3
> +#define SCSI_ABORT_NOT_RUNNING 4
> +#define SCSI_ABORT_ERROR 5
> +
> +#define SCSI_RESET_SNOOZE 0
> +#define SCSI_RESET_PUNT 1
> +#define SCSI_RESET_SUCCESS 2
> +#define SCSI_RESET_PENDING 3
> +#define SCSI_RESET_WAKEUP 4
> +#define SCSI_RESET_NOT_RUNNING 5
> +#define SCSI_RESET_ERROR 6
> +
> +#define SCSI_RESET_SYNCHRONOUS		0x01
> +#define SCSI_RESET_ASYNCHRONOUS		0x02
> +#define SCSI_RESET_SUGGEST_BUS_RESET	0x04
> +#define SCSI_RESET_SUGGEST_HOST_RESET	0x08
> +
> +#define SCSI_RESET_BUS_RESET 0x100
> +#define SCSI_RESET_HOST_RESET 0x200
> +#define SCSI_RESET_ACTION   0xff

Please don't use these anymore but rather kill all uses of them.

Also note that we'd be much happier if you killed the atari
specific NCR8350 and used the generic one instead.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ