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>
Alexander Viro [Thu, 9 Sep 2004 03:35:38 +0000 (20:35 -0700)]
[PATCH] affs endianness annotations
AFFS partially annotated - some fields of on-disk structures are never
used and while I'm reasonably sure that they ought to be big-endian, I'd
rather leave them alone for now; annotating them won't change the amount
of noise since nothing in the kernel ever accesses them.
Signed-off-by: Al Viro <viro@parcelfarce.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
In highmem end_io handling, we need to iterate over the completed bio
from 0, not bio->bi_idx. If not we leak N-1 pages for any bio with N
pages where N > 1.
Akinobu Mita [Wed, 8 Sep 2004 19:14:07 +0000 (19:14 +0000)]
[IA64] discontig.c: reset counters every iteration each node in show_mem().
On multi-node ia64 system, SysRq-M seems to dump wrong memory info.
(Since I don't have such a large machine, I don't confirm it)
It should reset counters every iteration each node in show_mem().
Jesse Barnes: "This looks good".
Signed-off-by: Akinobu Mita <mita@yacht.ocn.ne.jp> Signed-off-by: Tony Luck <tony.luck@intel.com>
Matthew Wilcox [Wed, 8 Sep 2004 19:03:14 +0000 (19:03 +0000)]
[IA64] pci.c: assign parent to the ROM resource
Jon Smirl's patch to export roms via sysfs exposes a bug in the ia64
PCI code; we're not assigning a parent to the ROM resource. Patch
supplied by Matthew Wilcox
Patch (against 2.6.8.1) removes unnecessary min/max macros and changes
calls to use kernel.h macros instead.
Signed-off-by: Michael Veeck <michael.veeck@gmx.net> Signed-off-by: Maximilian Attems <janitor@sternwelten.at> Signed-off-by: David Mosberger-Tang <davidm@hpl.hp.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
Herbert Xu [Wed, 8 Sep 2004 14:16:38 +0000 (07:16 -0700)]
[IPV4]: Simplify IP_ECN_set_ce.
Optimize away a branch and clean up the logic.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
New version of the NETIF_F_LLTX for network devices patch.
This allows network drivers to set the NETIF_F_LLTX flag
and then do their own locking in start_queue_xmit.
This lowers locking overhead in this critical path.
The drivers can use try lock if they want and return -1
when the lock wasn't grabbed. In this case the packet
will be requeued. For better compatibility this is only
done for drivers with LLTX set, others don't give a special
meaning to -1.
Most of the modern drivers who have a lock around hard_start_xmit
can just set this flag. It may be a good idea to convert the spin
lock there to a try lock. The only thing that should be audited
is that they do enough locking in the set_multicast_list function
too, and not also rely on xmit_lock here.
Now doesn't move any code around and does things with gotos instead.
The loop printk is also still there even for NETIF_F_LLTX
For drivers that don't set the new flag nothing changes.
Signed-off-by: David S. Miller <davem@davemloft.net>
In this case, we know we need more fragment(s).
So, let's fill up to maxfraglen (instead of mtu)
to avoid needless copy in the next loop.
Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
[PATCH] uml: Avoid forcing use of the no-op scheduler
Avoid forcing use of the no-op scheduler for UBD; this may uncover some
bugs in the UBD driver, and in fact uml-ubd-no-empty-queue.patch is needed
to make this sure. But as of now, no other bugs have been discovered, so
this should be safe.
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>