02 Dec, 2011
1 commit
-
The below patch fixes some typos in various parts of the kernel, as well as fixes some comments.
Please let me know if I missed anything, and I will try to get it changed and resent.Signed-off-by: Justin P. Mattock
Acked-by: Randy Dunlap
Signed-off-by: Jiri Kosina
31 Mar, 2011
1 commit
-
Fixes generated by 'codespell' and manually reviewed.
Signed-off-by: Lucas De Marchi
17 Nov, 2010
1 commit
-
Move the mid-layer's ->queuecommand() invocation from being locked
with the host lock to being unlocked to facilitate speeding up the
critical path for drivers who don't need this lock taken anyway.The patch below presents a simple SCSI host lock push-down as an
equivalent transformation. No locking or other behavior should change
with this patch. All existing bugs and locking orders are preserved.Additionally, add one parameter to queuecommand,
struct Scsi_Host *
and remove one parameter from queuecommand,
void (*done)(struct scsi_cmnd *)Scsi_Host* is a convenient pointer that most host drivers need anyway,
and 'done' is redundant to struct scsi_cmnd->scsi_done.Minimal code disturbance was attempted with this change. Most drivers
needed only two one-line modifications for their host lock push-down.Signed-off-by: Jeff Garzik
Acked-by: James Bottomley
Signed-off-by: Linus Torvalds
07 Apr, 2009
2 commits
-
Replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)
Signed-off-by: Yang Hongyang
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Replace all DMA_64BIT_MASK macro with DMA_BIT_MASK(64)
Signed-off-by: Yang Hongyang
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
13 Mar, 2009
1 commit
-
The SUGGEST_* flags in the SCSI command result have been out of fashion
for a while and we don't actually use them in the error handling.
Remove the remaining occurrences.Signed-off-by: Martin K. Petersen
Signed-off-by: James Bottomley
09 Oct, 2008
1 commit
-
Right now SCSI and others do their own command timeout handling.
Move those bits to the block layer.Instead of having a timer per command, we try to be a bit more clever
and simply have one per-queue. This avoids the overhead of having to
tear down and setup a timer for each command, so it will result in a lot
less timer fiddling.Signed-off-by: Mike Anderson
Signed-off-by: Jens Axboe
24 Aug, 2008
1 commit
-
This patch lets the files using linux/version.h match the files that
#include it.Signed-off-by: Adrian Bunk
Signed-off-by: Linus Torvalds
08 Apr, 2008
5 commits
-
These are completely wrong because both outX and writeX do an
automatic reverse of their arguments if necessary, so having an extra
cpu_to_leX gives us the wrong ordering on BE platforms again.Acked-by: Mark Salyzyn
Signed-off-by: James Bottomley -
replace all:
little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) +
expression_in_cpu_byteorder);
with:
leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder);
generated with semantic patchSigned-off-by: Marcin Slusarz
Acked-by: "Salyzyn, Mark"
Signed-off-by: Andrew Morton
Signed-off-by: James Bottomley -
This rewrites ips_scmd_buf_write/read with scsi_sg_copy_from/to_buffer
respectively.Signed-off-by: FUJITA Tomonori
Acked-by: Salyzyn, Mark
Signed-off-by: James Bottomley -
Lots of drivers set it to 0. Remove that. Patch should be a nop.
Signed-off-by: Andi Kleen
Signed-off-by: James Bottomley -
I overlooked ips_scmd_buf_write and ips_scmd_buf_read when I converted
ips to use the data buffer accessors.ips is unlikely to use sg chaining (especially in this path) since a)
this path is used only for non I/O commands (with little data
transfer), b) ips's sg_tablesize is set to just 17.Thanks to Tim Pepper for testing this patch.
Signed-off-by: FUJITA Tomonori
Acked-by: Mark Salyzyn
Signed-off-by: James Bottomley
20 Feb, 2008
1 commit
-
This fixes a bug that can't handle a passthru command with more than
two sg entries.Big thanks to Tim Pepper for debugging the problem.
Signed-off-by: FUJITA Tomonori
Acked-by: Mark Salyzyn
Cc: Stable Tree
Signed-off-by: James Bottomley
03 Feb, 2008
1 commit
-
Signed-off-by: Joe Perches
Acked-by: Andrew Vasquez
Acked-by: James Smart
Acked-by: Darrick J. Wong
Acked-by: David Somayajulu
Acked-by: Mark Salyzyn
Signed-off-by: Adrian Bunk
24 Jan, 2008
2 commits
-
This replaces sizeof sense_buffer with SCSI_SENSE_BUFFERSIZE in
several LLDs. It's a preparation for the future changes to remove
sense_buffer array in scsi_cmnd structure.Signed-off-by: FUJITA Tomonori
Signed-off-by: James Bottomley -
LLDs don't need to zero out scsi_cmnd::sense_buffer in queuecommand
since scsi-ml does. This is a preparation of the future changes to
allocate the sense_buffer only when necessary.Many LLDs zero out the sense_buffer before touching it on the error
case. This patch lets them alone for now because new APIs for them
would be added later on.Signed-off-by: FUJITA Tomonori
Acked-by: "Salyzyn, Mark"
Signed-off-by: James Bottomley
12 Jan, 2008
4 commits
-
Signed-off-by: Jeff Garzik
Acked-by: "Salyzyn, Mark"
Signed-off-by: Andrew Morton
Signed-off-by: James Bottomley -
* pass Scsi_Host to ips_remove_device() via pci_set_drvdata(),
allowing us to eliminate the ips_ha[] search loop and call
ips_release() directly.* call pci_{request,release}_regions() and eliminate individual
request/release_[mem_]region() calls* call pci_disable_device(), paired with pci_enable_device()
* s/0/NULL/ in a few places
* check ioremap() return value
Signed-off-by: Jeff Garzik
Acked-by: "Salyzyn, Mark"
Signed-off-by: Andrew Morton
Signed-off-by: James Bottomley -
[akpm@linux-foundation.org: coding style fixes]
Signed-off-by: Jeff Garzik
Acked-by: "Salyzyn, Mark"
Signed-off-by: Andrew Morton
Signed-off-by: James Bottomley -
Signed-off-by: Jeff Garzik
Acked-by: "Salyzyn, Mark"
Signed-off-by: Andrew Morton
Signed-off-by: James Bottomley
23 Oct, 2007
1 commit
-
Signed-off-by: Jens Axboe
16 Oct, 2007
1 commit
-
ips properly uses scsi_for_each_sg for the normal I/O path, however,
the breakup path doesn't.Signed-off-by: FUJITA Tomonori
Signed-off-by: Jens Axboe
13 Oct, 2007
3 commits
-
This patch just makes the version number in ips.c and ips.h consistent. It
seems that this has been forgotten in a60768e2d43eb30a1adb8a119aeac35dc0d03ef6.It also removes code duplication, each number is now only once in the code to
avoid similar errors in the future.Signed-off-by: Bernhard Walle
Acked-by: Mark Salyzyn
Signed-off-by: James Bottomley -
We were releasing the IRQ before removing the host, so commands could
still be coming in which would never be seen by the interrupt handler.
Just remove the host before releasing the IRQ to close this race.Signed-off-by: Matthew Wilcox
Signed-off-by: James Bottomley -
drivers/scsi/ips.c: In function 'ips_insert_device':
drivers/scsi/ips.c:6957: warning: 'index' may be used uninitialized in this functionSigned-off-by: Andrew Morton
Signed-off-by: James Bottomley
20 Jul, 2007
1 commit
-
Transform some calls to kmalloc/memset to a single kzalloc (or kcalloc).
Here is a short excerpt of the semantic patch performing
this transformation:@@
type T2;
expression x;
identifier f,fld;
expression E;
expression E1,E2;
expression e1,e2,e3,y;
statement S;
@@x =
- kmalloc
+ kzalloc
(E1,E2)
... when != \(x->fld=E;\|y=f(...,x,...);\|f(...,x,...);\|x=E;\|while(...) S\|for(e1;e2;e3) S\)
- memset((T2)x,0,E1);@@
expression E1,E2,E3;
@@- kzalloc(E1 * E2,E3)
+ kcalloc(E1,E2,E3)[akpm@linux-foundation.org: get kcalloc args the right way around]
Signed-off-by: Yoann Padioleau
Cc: Richard Henderson
Cc: Ivan Kokshaysky
Acked-by: Russell King
Cc: Bryan Wu
Acked-by: Jiri Slaby
Cc: Dave Airlie
Acked-by: Roland Dreier
Cc: Jiri Kosina
Acked-by: Dmitry Torokhov
Cc: Benjamin Herrenschmidt
Acked-by: Mauro Carvalho Chehab
Acked-by: Pierre Ossman
Cc: Jeff Garzik
Cc: "David S. Miller"
Acked-by: Greg KH
Cc: James Bottomley
Cc: "Antonino A. Daplas"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
16 Jul, 2007
1 commit
-
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (166 commits)
[SCSI] ibmvscsi: convert to use the data buffer accessors
[SCSI] dc395x: convert to use the data buffer accessors
[SCSI] ncr53c8xx: convert to use the data buffer accessors
[SCSI] sym53c8xx: convert to use the data buffer accessors
[SCSI] ppa: coding police and printk levels
[SCSI] aic7xxx_old: remove redundant GFP_ATOMIC from kmalloc
[SCSI] i2o: remove redundant GFP_ATOMIC from kmalloc from device.c
[SCSI] remove the dead CYBERSTORMIII_SCSI option
[SCSI] don't build scsi_dma_{map,unmap} for !HAS_DMA
[SCSI] Clean up scsi_add_lun a bit
[SCSI] 53c700: Remove printk, which triggers because of low scsi clock on SNI RMs
[SCSI] sni_53c710: Cleanup
[SCSI] qla4xxx: Fix underrun/overrun conditions
[SCSI] megaraid_mbox: use mutex instead of semaphore
[SCSI] aacraid: add 51245, 51645 and 52245 adapters to documentation.
[SCSI] qla2xxx: update version to 8.02.00-k1.
[SCSI] qla2xxx: add support for NPIV
[SCSI] stex: use resid for xfer len information
[SCSI] Add Brownie 1200U3P to blacklist
[SCSI] scsi.c: convert to use the data buffer accessors
...
12 Jul, 2007
1 commit
-
Instead of all drivers reading pci config space to get the revision
ID, they can now use the pci_device->revision member.This exposes some issues where drivers where reading a word or a dword
for the revision number, and adding useless error-handling around the
read. Some drivers even just read it for no purpose of all.In devices where the revision ID is being copied over and used in what
appears to be the equivalent of hotpath, I have left the copy code
and the cached copy as not to influence the driver's performance.Compile tested with make all{yes,mod}config on x86_64 and i386.
Signed-off-by: Auke Kok
Acked-by: Dave Jones
Signed-off-by: Greg Kroah-Hartman
17 Jun, 2007
1 commit
-
- remove the unnecessary map_single path.
- convert to use the new accessors for the sg lists and the
parameters.Jens Axboe did the for_each_sg cleanup.
TODO: use scsi_for_each_sg() in the breakup handling.
Signed-off-by: FUJITA Tomonori
Acked-by: "Salyzyn, Mark"
Signed-off-by: James Bottomley
24 May, 2007
1 commit
-
Signed-off-by: Adrian Bunk
Signed-off-by: Andrew Morton
Acked-by: "Salyzyn, Mark"
Signed-off-by: James Bottomley
16 Nov, 2006
1 commit
-
Revert 15084a4a63bc300c18b28a8a9afac870c552abce - it caused a
scheduling-inside-spinlock bug.Cc: Nishanth Aravamudan
Cc: Nick Piggin
Cc: Jack Hammer
Signed-off-by: Andrew Morton
Signed-off-by: James Bottomley
05 Oct, 2006
2 commits
-
Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
of passing regs around manually through all ~1800 interrupt handlers in the
Linux kernel.The regs pointer is used in few places, but it potentially costs both stack
space and code to pass it around. On the FRV arch, removing the regs parameter
from all the genirq function results in a 20% speed up of the IRQ exit path
(ie: from leaving timer_interrupt() to leaving do_IRQ()).Where appropriate, an arch may override the generic storage facility and do
something different with the variable. On FRV, for instance, the address is
maintained in GR28 at all times inside the kernel as part of general exception
handling.Having looked over the code, it appears that the parameter may be handed down
through up to twenty or so layers of functions. Consider a USB character
device attached to a USB hub, attached to a USB controller that posts its
interrupts through a cascaded auxiliary interrupt controller. A character
device driver may want to pass regs to the sysrq handler through the input
layer which adds another few layers of parameter passing.I've build this code with allyesconfig for x86_64 and i386. I've runtested the
main part of the code on FRV and i386, though I can't test most of the drivers.
I've also done partial conversion for powerpc and MIPS - these at least compile
with minimal configurations.This will affect all archs. Mostly the changes should be relatively easy.
Take do_IRQ(), store the regs pointer at the beginning, saving the old one:struct pt_regs *old_regs = set_irq_regs(regs);
And put the old one back at the end:
set_irq_regs(old_regs);
Don't pass regs through to generic_handle_irq() or __do_IRQ().
In timer_interrupt(), this sort of change will be necessary:
- update_process_times(user_mode(regs));
- profile_tick(CPU_PROFILING, regs);
+ update_process_times(user_mode(get_irq_regs()));
+ profile_tick(CPU_PROFILING);I'd like to move update_process_times()'s use of get_irq_regs() into itself,
except that i386, alone of the archs, uses something other than user_mode().Some notes on the interrupt handling in the drivers:
(*) input_dev() is now gone entirely. The regs pointer is no longer stored in
the input_dev struct.(*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does
something different depending on whether it's been supplied with a regs
pointer or not.(*) Various IRQ handler function pointers have been moved to type
irq_handler_t.Signed-Off-By: David Howells
(cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit) -
Remove the obsolete hosts.h file under drivers/scsi.
Signed-off-by: Henrik Kretzschmar
Signed-off-by: James Bottomley
04 Oct, 2006
1 commit
-
Converts the obsolete Scsi_Cmnd to struct scsi_cmnd in the ips-driver.
Signed-off-by: Henrik Kretzschmar
Signed-off-by: James Bottomley
01 Oct, 2006
1 commit
-
Signed-off-by: Alan Cox
Signed-off-by: James Bottomley
03 Jul, 2006
1 commit
-
Signed-off-by: Thomas Gleixner
Cc: Ingo Molnar
Cc: "David S. Miller"
Cc: Benjamin Herrenschmidt
Cc: James Bottomley
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
01 Jul, 2006
1 commit
-
Signed-off-by: Jörn Engel
Signed-off-by: Adrian Bunk
27 Jun, 2006
1 commit
-
acquired (aquired)
contiguous (contigious)
successful (succesful, succesfull)
surprise (suprise)
whether (weather)
some other misspellingsSigned-off-by: Andreas Mohr
Signed-off-by: Adrian Bunk
10 Jun, 2006
1 commit
-
Use ARRAY_SIZE macro instead of sizeof(x)/sizeof(x[0]) and remove
duplicates of the macro.Signed-off-by: Tobias Klauser
Signed-off-by: Andrew Morton
Signed-off-by: James Bottomley