Mark Haverkamp [Tue, 5 Oct 2004 05:18:08 +0000 (00:18 -0500)]
[PATCH] aacraid: Add get container name functionality
Description from Mark Salyzyn:
This patch to aacraid overrides the default naming for an array with the
programmed array name when set. The array name can be set in the BIOS,
or the management applications.
Signed-off-by: Mark Haverkamp <markh@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Bottomley [Thu, 30 Sep 2004 09:19:44 +0000 (05:19 -0400)]
megaraid 2.20.4: Fix a data corruption bug
From: Bagalkote, Sreenivas <sreenib@lsil.com>
Fixes a data corruption issue. Because of a typo in the driver, IO packets
were wrongly shared by the IOCTL path. This caused the whole IO command
to be replaced by an incoming IOCTL command.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Jeremy Higdon [Wed, 29 Sep 2004 19:25:51 +0000 (15:25 -0400)]
[PATCH] add ability to set device queue depth to mptfusion
This patch lets you override the default queue depth for SCSI devices
attached through the mptfusion driver.
I moved some common code that I needed out of mpt_slave_configure()
into its own function.
New patch with some style issues fixed. I went ahead and moved the
logical "and" to the end of the line from the start of the next line.
I agreed with Matthew's reasoning on the comparison with 0.
Thanks for reviewing, Christoph.
signed-off-by: Jeremy Higdon <jeremy@sgi.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
- mark all functions static
- don't use scsi.h obsolete symbols
- add my copyright boilerplate (more for last years work then the
trivial nitpicks here)
- comment formatting fixes
- remove dead wood from a100u2w.h
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This patch has the usual cleanups for the initio driver:
- remove scsi.h APIs
- add missing statics
- remove the trivial internal queuing for the srb allocation failure case
but while doing that I noticed that the two source files use completely
different headers, and the interface between the two files often casted
to generic types just to cast it back to a separate defintion of the
same type again. In one case the structures were even mismatching, but
because we allocated the bigger defintion and only passed pointers
around it actually worked..
Thanks to Rodrigo Severo for testing this patch.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Bottomley [Wed, 29 Sep 2004 07:29:12 +0000 (03:29 -0400)]
qla1280: ISP1020/1040 support
From: Christoph Hellwig <hch@lst.de>
This patch adds support for the older ISP1020/1040 chips to the qla1280
driver. In fact it does not add much support but enables the work
merged earlier.
It's been tested to work nicely on x86 and alpha machines by multiple
people, it unfortunately doesn't work on SGI mips systems yet, but I'm
pretty sure that's due to bugginess in the pci code for those
plattforms.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Bottomley [Tue, 28 Sep 2004 19:09:26 +0000 (15:09 -0400)]
merge a100u2w source files
From: Christoph Hellwig <hch@lst.de>
looking at the a100u2w driver the split between the inia100.c and
i60uscsi.c source files is hindering work badly. So I'm attaching
below a new a100u2w.c that is a merge of those two, but no code changes
at all (yet) - just the comment headers and includes of the two merged,
then rest of i60uscsi.c, then rest of inia100.c.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mark Haverkamp [Tue, 28 Sep 2004 19:01:29 +0000 (15:01 -0400)]
[PATCH] aacraid: dynamic dev update
Here is the patch with Christoph's comments addressed.
Description from Mark Salyzyn:
The main purpose of this patch is to move the array's cached request
sense packets into a per-adapter structure rather than leaving it global
(before ID 1,0,0,0 shares 2,0,0,0 cached sense). SAS pressed this change
as we needed to allocate the sense packets dynamically.
Signed-off-by Mark Haverkamp <markh@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Bottomley [Tue, 28 Sep 2004 18:48:11 +0000 (14:48 -0400)]
fusion dead code removal
From: Christoph Hellwig <hch@lst.de>
This patch (ontop of the patch to use <linux/list.>) removes lots of
dead code from the fusion driver, mostly related to the
orphaned dmp and
target drivers.
Acked By: Moore, Eric Dean <Emoore@lsil.com>
also modified not to back out MPTSTM code
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Matthew Wilcox [Mon, 27 Sep 2004 06:56:26 +0000 (02:56 -0400)]
[PATCH] Add SPI-5 constants to scsi.h
On Tue, Sep 21, 2004 at 01:04:38PM +0100, Christoph Hellwig wrote:
> On Tue, Sep 21, 2004 at 12:50:59PM +0100, Matthew Wilcox wrote:
> >
> > Add the new constant names from SPI-5 to <scsi/scsi.h>
> What about having a section ala
>
> /*
> * Old SCSI2 names, don't use in new code
> */
> #define ABORT ABORT_TASK_SET
> #define BUS_DEVICE_RESET TARGET_RESET
>
> instead of intermixing them with the rest of the defines?
Sure...
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Andrew Morton [Fri, 24 Sep 2004 04:47:39 +0000 (00:47 -0400)]
[PATCH] QLogic ISP2x00: remove needless busyloop
From: Bjorn Helgaas <bjorn.helgaas@hp.com>
There's no need to wait for an isp2x00 to recognize a fabric if there's no
isp2x00. Probably nobody will notice the unnecessary slowdown on real
hardware, but it's a significant delay on a simulator.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Smart [Mon, 20 Sep 2004 17:24:08 +0000 (13:24 -0400)]
[PATCH] Allow LLDD's to fail slave alloc (non-existent slave)
In the cases where an LLDD knows that a lun does not exist, if it
fails slave_alloc(), the midlayer reports an error message indicating
slave_alloc failed.
This patch allows the LLDD to reject the slave_alloc() call if it
knows the lun doesn't exist, and skips the reporting of the
slave_alloc failure message. This avoids jumping through hoops in the
LLDD to avoid error messages from slave_alloc. Also saves cycles in
that the probe is also cancelled for the non-existent device.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
[PATCH] move scsi_add_host back to where it belongs in aacraid
looks like you applied a premature version of the last aacraid patch.
This one moves the scsi_add_host back so it's not called before the
driver is ready to accept queued commands.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Bottomley [Sun, 19 Sep 2004 08:56:12 +0000 (04:56 -0400)]
scsi: Add reset ioctl capability to ULDs
Currently, the only way to issue a SCSI reset of any
type is to use the sg device. By adding extra ioctls
to scsi_ioctl.c we enable this for all ULDs.
The slight complication is that scsi_ioctl() is usually
only called when the device has been checked not to be
undergoing eh recovery. Resets may be issued in
this scenario if the user opens the device O_NONBLOCK.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Andrew Vasquez [Fri, 17 Sep 2004 13:35:35 +0000 (09:35 -0400)]
[PATCH] SCSI QLA not working on latest *-mm SN2 (qla_dbg fixes)
On Thu, 2004-09-16 at 14:09, Jesse Barnes wrote:
> On Thursday, September 16, 2004 1:56 pm, Andrew Vasquez wrote:
> > On Thu, 2004-09-16 at 13:05, Jesse Barnes wrote:
> > > On Thursday, September 16, 2004 12:56 pm, Paul Jackson wrote:
> > > > Andrew Vasquez has been looking at this, via private email with just
> > > > me (no progress yet). Figured I update the larger list with this much
> > > > ...
> > >
> > > It seems to be failing on one of the accesses to PCI_COMMAND in config
> > > space in qla2x00_reset_chip(). I'm checking now to see if we're
> > > accessing the card right after a reset but before the card has finished.
> > > That would cause a master abort, the symptom I'm seeing at least.
> >
> > Interesting, the only changes in reset_chip() are for PCI posting
> > issues. Relevant diff attached.
>
> Yeah, I think one of these is the culprit. Before I got your message, I fixed
> some of them in my tree already (see attached) and things seem to work.
>
Hmm, seems we were a bit too over-aggressive in placement of the
readw()s :(
> WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT);
> + RD_REG_WORD(®->hccr); /* PCI Posting. */
> WRT_REG_WORD(®->hccr, HCCR_CLR_HOST_INT);
> + RD_REG_WORD(®->hccr); /* PCI Posting. */
>
> /* Reset ISP chip. */
> WRT_REG_WORD(®->ctrl_status, CSR_ISP_SOFT_RESET);
> + RD_REG_WORD(®->ctrl_status); /* PCI Posting. */
>
> In particular, are the above ok? If the chip is resetting, won't doing a read
> cause a machine check (or at the very least, a device select timeout, which
> will return all ones on friendlier platforms).
>
There are several more which deltas in qla_dbg.c which are suspect
also.
On Thursday, September 16, 2004 1:56 pm, Andrew Vasquez wrote:
> On Thu, 2004-09-16 at 13:05, Jesse Barnes wrote:
> > On Thursday, September 16, 2004 12:56 pm, Paul Jackson wrote:
> > > Andrew Vasquez has been looking at this, via private email with just
> > > me (no progress yet). Figured I update the larger list with this much
> > > ...
> >
> > It seems to be failing on one of the accesses to PCI_COMMAND in config
> > space in qla2x00_reset_chip(). I'm checking now to see if we're
> > accessing the card right after a reset but before the card has finished.
> > That would cause a master abort, the symptom I'm seeing at least.
>
> Interesting, the only changes in reset_chip() are for PCI posting
> issues. Relevant diff attached.
Yeah, I think one of these is the culprit. Before I got your message, I fixed
some of them in my tree already (see attached) and things seem to work.
In particular, are the above ok? If the chip is resetting, won't doing a read
cause a machine check (or at the very least, a device select timeout, which
will return all ones on friendlier platforms).
Mark Haverkamp [Fri, 17 Sep 2004 13:30:04 +0000 (09:30 -0400)]
[PATCH] 2.6.9 aacraid: aac_count fix
Changed the managing of aac device structures to a linked list so that
there is no limit to how many adapters can be configured. Also, put the
call to scsi_add_host earlier in the probe function, before devices are
accessed.
Signed-off-by: Mark Haverkamp <markh@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Kai Mäkisara [Thu, 16 Sep 2004 10:59:09 +0000 (06:59 -0400)]
[PATCH] avoid obsolete "scsi.h" APIs in st
> Date: Tue, 14 Sep 2004 20:18:00 +0200
> From: Christoph Hellwig <hch>
> Subject: [PATCH] avoid obsolete "scsi.h" APIs in st
>
> no actual behaviour changes, just update to the less obsfucated 2.6+
> APIs.
>
Looks good to me but did not link when DEBUG was set to 1: one
print_req_sense() conversion was missed. This is corrected in the patch at
the end of this message.
Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Arjan van de Ven [Thu, 16 Sep 2004 10:10:06 +0000 (06:10 -0400)]
[PATCH] mark scsi_add_host __must_check
it seems scsi_add_host() is one of those functions that a driver really has
to check the return value of, but several forget to do this. Patch below
marks it __must_check which will cause a warning in this case (with gcc
3.4 and later)..
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Adam Radford [Mon, 13 Sep 2004 19:31:23 +0000 (15:31 -0400)]
[PATCH] 3ware 5/6/7/8000 driver update
- Make tw_check_bits() static.
- Add MODULE_VERSION support.
- Fix ioctl path to use dma_alloc/free_coherent() instead of
pci_alloc/free_consistent().
- Remove error variable from ioctl code causing confusion.
retval defaults to -EFAULT, any copy_to/from_user() that
returns non zero returns -EFAULT.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mark Haverkamp [Mon, 13 Sep 2004 12:48:43 +0000 (08:48 -0400)]
[PATCH] aacraid: Detect non-committed array
From: Mark Salyzyn at Adaptec
In the case of this driver patch, we will report to the user via a
syslogd kernel message that a foreign array has been ignored in
non-intel environments; or intel environments where the BIOS fails to
load to perform this set of housekeeping functions. There is a
provision, via the commit variable, to change this behavior to accept
the configuration instead.
Signed-off-by: Mark Haverkamp <markh@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Matthew Wilcox [Mon, 13 Sep 2004 12:10:44 +0000 (08:10 -0400)]
[PATCH] sym2 2.1.18k
2.1.18k:
- Relicence from dual BSD/GPL to pure GPL
- Add my copyright to various files
- Remove unnecessary MDELAY calls after printfs
- Rename remaining MDELAY() to mdelay(), delete MDELAY and sym_mdelay
macros
- Restructure PCI initialisation to not disable chips that are part
of Mylex RAID cards.
- Make SYM_OPT_NVRAM_PRE_READ non-optional.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
So actually I have a patch that starts to remove internal queueing from
tmscsim. This gets rid of internal queueing for those cases where we
can just make the midlayer do the the work by returning erros from
->queuecommand (and cleans up the tmscsim queuecommand implementation
singnificantly).
Next step would get rid of the more complicated internal queueing where
we need to make the scsi layer requeue by returning appropinquate DID_
values from ->scsidone.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Bottomley [Fri, 10 Sep 2004 14:03:31 +0000 (10:03 -0400)]
scsi: normalize fixed and descriptor sense data
From: Douglas Gilbert <dougg@torque.net>
The patch only touches two files: scsi.h and scsi_lib.c
It adds the proposed facility and then uses it in scsi_lib
in roughly 4 locations. IMO there were 3 sense processing errors:
- block SG_IO did not get passed back deferred errors
[SG_IO is a __pass-through__ interface!!]
- MEDIUM_ERRORs _do_ get processed for deferred sense errors
in scsi_io_completion() which seems unintended
[I did not fix this one.]
- invalid command operation code handling in
__scsi_mode_sense() was just wrong
If people think this is a reasonable approach, then the rest of
the scsi mid-level and upper level driver could be converted.
As Kai pointed we may need some general routines to pick up the
sense data "extras".
The benefit of doing this conversion is that it may well
highlight a lot more sense data processing errors (if the
above is any guide).
Changes:
- add structure to receive normalized sense data from either
fixed or descriptor format sense data
- add scsi_normalize_sense() function to populate that structure
- add scsi_sense_is_deferred() function so deferred errors can
be ignored in many contexts
- apply new mechanism to sense data processing within the
scsi_lib.c file
Patch reformatted by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Douglas Gilbert [Fri, 10 Sep 2004 13:55:44 +0000 (09:55 -0400)]
[PATCH] sg jiffy library calls [was: sg kill local jiffies
Douglas Gilbert wrote:
> It has been reported that the change to sg.c in lk 2.6.9-rc1-bk5
> to use library jiffy functions breaks sg (albeit under vmware).
> Evidentally sg devices are no longer recognised after that change.
>
> Reverting that changeset removes the problem. Strange, it is not
> obvious why.
>
> At some stage I must have detected negative time spans (yeh yeh it
> never happens) and my versions returned 0 in this case; otherwise
> the implementations look very similar.
The following patch fixes the problem. It is
against lk 2.6.9-rc1-bk7 (i.e. after "standard"
jiffy_to_millisecs macros replaced sg versions).
Change:
- make sure a (large) user supplied timeout value does
not result in a negative timeout passed to the midlevel
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Bottomley [Fri, 10 Sep 2004 13:52:44 +0000 (09:52 -0400)]
[PATCH] Fix up scsi_test_unit_ready() to work correctly with CD-ROMs
Olaf Hering noticed that SG_IO was no-longer working correctly on some
CD-ROMS. The reason is a change in behaviour induced by switching to
the new scsi_test_unit_ready() API.
Apparently the CD-ROM special case needs to ignore both UNIT_ATTENTION
and NOT_READY for removable media.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Andrew Vasquez [Fri, 10 Sep 2004 10:55:02 +0000 (06:55 -0400)]
[PATCH] PATCH [4/8] qla2xxx: Small fixes
o Always set an TCQ modifier for each command submitted.
o Always (re)-initialize NVRAM during execution.
o Add pci_disable_device() calls to proper locations during
pci-probe failure and pci-remove.
o Do not begin processing until the DPC has been marked
'active'.
o Fix off-by-one error while copying sense-data.
o Fix bus-reset issue during back-door execution.
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Max Attems <janitor@sternwelten.at> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Andrew Morton [Fri, 10 Sep 2004 09:21:48 +0000 (05:21 -0400)]
[PATCH] Disambiguate esp.c clones
From: Joshua Kwan <joshk@triplehelix.org>
Debian's initial ramdisk creation scripts rely on the content of /proc/scsi
to determine which module is needed for the ramdisk. Unfortunately, bad
things happen when a bazillion different drivers use the _exact same name_
for /proc, namely the esp family.
Give them all unique names.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Andrew Morton [Fri, 10 Sep 2004 09:19:39 +0000 (05:19 -0400)]
[PATCH] qla2xxx gcc-3.5 fixes
From: Adrian Bunk <bunk@fs.tum.de>
CC drivers/scsi/qla2xxx/qla_os.o
drivers/scsi/qla2xxx/qla_os.c: In function `qla2x00_queuecommand':
drivers/scsi/qla2xxx/qla_os.c:315: sorry, unimplemented: inlining failed
in call to 'qla2x00_callback': function not considered for inlining
drivers/scsi/qla2xxx/qla_os.c:269: sorry, unimplemented: called from here
drivers/scsi/qla2xxx/qla_os.c:315: sorry, unimplemented: inlining failed
in call to 'qla2x00_callback': function not considered for inlining
drivers/scsi/qla2xxx/qla_os.c:269: sorry, unimplemented: called from here
make[3]: *** [drivers/scsi/qla2xxx/qla_os.o] Error 1
...
CC drivers/scsi/qla2xxx/qla_rscn.o
drivers/scsi/qla2xxx/qla_rscn.c: In function `qla2x00_cancel_io_descriptors':
drivers/scsi/qla2xxx/qla_rscn.c:320: sorry, unimplemented: inlining
failed in call to 'qla2x00_remove_iodesc_timer': function not considered for inlining
drivers/scsi/qla2xxx/qla_rscn.c:257: sorry, unimplemented: called from here
make[3]: *** [drivers/scsi/qla2xxx/qla_rscn.o] Error 1
Signed-off-by: Adrian Bunk <bunk@fs.tum.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Jeremy Higdon [Fri, 10 Sep 2004 09:11:05 +0000 (05:11 -0400)]
[PATCH] sg.c to warn about ambiguous data direction
On Sat, Aug 28, 2004 at 02:39:45AM -0700, Jeremy Higdon wrote:
> > Jeremy,
> > You could use a (block scope) static and only print out
> > the warning the first time it is detected.
> >
> > Doug Gilbert
>
> Yes, that's a good idea -- I'll add a rate limiter and also print
> out the process name like James does in his recent deprecated
> ioctl warning patch. I'll send a new patch out later this weekend.
> Sorry for the churn.
>
> thanks
>
> jeremy
Okay, I'm pretty happy with this. I get this kind of output:
sg_write: data in/out 512/512 bytes for SCSI command 0x8--guessing data in;
program java not setting count and/or reply_len properly
printk: 11 messages suppressed.
sg_write: data in/out 512/512 bytes for SCSI command 0x8--guessing data in;
program java not setting count and/or reply_len properly
printk: 4 messages suppressed.
signed-off-by: jeremy@sgi.com Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
- switch to a normal lists.h list for all hbas
- merge BusLogic_DetectHostAdapter and BusLogic_init
- move scsi_remove_host into BusLogic_ReleaseHostAdapter instead
of a second iteration over all hosts
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Douglas Gilbert [Fri, 10 Sep 2004 09:05:12 +0000 (05:05 -0400)]
[PATCH] scsi_debug version 1.74
To check descriptor format sense data handling we need a source.
Clean up some other problems and improve support for st.
Changes:
- add 'dsense' option to generate descriptor sense data
format (default still fixed format)
- correct unit attention generation (only INQUIRY, REQUEST_SENSE
and REPORT_LUNS ignore it)
- better information sent to log in "noisy" mode (i.e. opts=1)
- correct and expand standard INQUIRY response, include version
descriptors
- filter MODE_SENSE command so that subpage!=0 generates error
- add REWIND (SSC) command support (NOP)
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Alan Stern [Fri, 10 Sep 2004 09:01:18 +0000 (05:01 -0400)]
[PATCH] Add BLIST_INQUIRY_36 to all USB blacklist entries
This patch adds the BLIST_INQUIRY_36 flag to all the SCSI blacklist
entries for USB devices. While it may not be strictly necessary for all
of them, it doesn't hurt: Since the usb-storage driver doesn't use any of
the INQUIRY data after the first 36 bytes, there's no reason to try
reading any more of it. And some devices crash when we try to read more,
even though they advertise that more bytes are available. The usb-storage
driver does try to set the flag automatically, but the blacklist entries
override that setting.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Alexander Viro [Thu, 9 Sep 2004 04:49:50 +0000 (21:49 -0700)]
[PATCH] udf endianness annotations
That one was slightly messier than ext2 - several data structures had
been used both in little-endian (on-disk) and host-endian (in-core)
situations. They had to be split, the rest was trivial annotations.
Gets UDF sparse-clean with -Wbitwise. Note that here we just annotate -
bug fixes from the original version of that patch had already been
merged.
Signed-off-by: Al Viro <viro@parcelfarce.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>