21 Jun, 2008
2 commits
-
All of the open() functions which don't need the BKL on their face may
still depend on its acquisition to serialize opens against driver
initialization. So make those functions acquire then release the BKL to be
on the safe side.Signed-off-by: Jonathan Corbet
-
This documents the fact that somebody looked at the relevant open()
functions and concluded that, due to their trivial nature, no locking was
needed.Signed-off-by: Jonathan Corbet
29 Apr, 2008
1 commit
-
Remove proc_root export. Creation and removal works well if parent PDE is
supplied as NULL -- it worked always that way.So, one useless export removed and consistency added, some drivers created
PDEs with &proc_root as parent but removed them as NULL and so on.Signed-off-by: Alexey Dobriyan
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
18 Feb, 2008
1 commit
-
From conversations with the maintainers the _p isn't needed so kill it.
That removes the last non ISA _p user from the SCSI layer to my knowledge.Signed-off-by: Alan Cox
Acked-by: "Yang, Bo"
Signed-off-by: James Bottomley
31 Jan, 2008
1 commit
-
With the sg table code, every SCSI driver is now either chain capable
or broken (or has sg_tablesize set so chaining is never activated), so
there's no need to have a check in the host template.Also tidy up the code by moving the scatterlist size defines into the
SCSI includes and permit the last entry of the scatterlist pools not
to be a power of two.
Signed-off-by: James Bottomley
12 Jan, 2008
1 commit
-
megaraid_remove_one() can become __devexit.
Signed-off-by: Adrian Bunk
Acked-by: "Patro, Sumant"
Signed-off-by: James Bottomley
23 Oct, 2007
1 commit
-
Signed-off-by: Jens Axboe
16 Oct, 2007
1 commit
-
This option is true if a low-level driver can support sg
chaining. This will be removed eventually when all the drivers are
converted to support sg chaining. q->max_phys_segments is set to
SCSI_MAX_SG_SEGMENTS if false.Signed-off-by: FUJITA Tomonori
Signed-off-by: Jens Axboe
15 Oct, 2007
1 commit
-
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (207 commits)
[SCSI] gdth: fix CONFIG_ISA build failure
[SCSI] esp_scsi: remove __dev{init,exit}
[SCSI] gdth: !use_sg cleanup and use of scsi accessors
[SCSI] gdth: Move members from SCp to gdth_cmndinfo, stage 2
[SCSI] gdth: Setup proper per-command private data
[SCSI] gdth: Remove gdth_ctr_tab[]
[SCSI] gdth: switch to modern scsi host registration
[SCSI] gdth: gdth_interrupt() gdth_get_status() & gdth_wait() fixes
[SCSI] gdth: clean up host private data
[SCSI] gdth: Remove virt hosts
[SCSI] gdth: Reorder scsi_host_template intitializers
[SCSI] gdth: kill gdth_{read,write}[bwl] wrappers
[SCSI] gdth: Remove 2.4.x support, in-kernel changelog
[SCSI] gdth: split out pci probing
[SCSI] gdth: split out eisa probing
[SCSI] gdth: split out isa probing
gdth: Make one abuse of scsi_cmnd less obvious
[SCSI] NCR5380: Use scsi_eh API for REQUEST_SENSE invocation
[SCSI] usb storage: use scsi_eh API in REQUEST_SENSE execution
[SCSI] scsi_error: Refactoring scsi_error to facilitate in synchronous REQUEST_SENSE
...
13 Oct, 2007
1 commit
-
In NCR_D700, a4000t, aic7xxx_old, bvme6000, dpt_i2o, gdth, lpfc,
megaraid, mvme16x osst, pluto, qla2xxx, zorro7xxSigned-off-by: Mariusz Kozlowski
Signed-off-by: James Bottomley
05 Oct, 2007
1 commit
-
The bulk transfer mode got eleminated by
3f6270ef76f2ce5c134615a470685d6c2a66c07e. Unfortunately, this mode is
required for READ_CAPACITY commands on certain cards, so put it back
again. This fixes a boot failure regression reported by Burton
Windle.Signed-off-by: FUJITA Tomonori
Signed-off-by: James Bottomley
01 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.
Signed-off-by: FUJITA Tomonori
Acked-by: Sumant Patro
Signed-off-by: James Bottomley
27 May, 2007
1 commit
-
The user ioctl mailbox can only support a 32 bit address for the
commands structure. This is fine, since the area it's pointing to is
allocated with pci_alloc_consistent(), so it should be physically <
4GB. Thus kill the ptr to u32 conversion warnings on 64 bit.Signed-off-by: Martin J. Bligh
Signed-off-by: Andrew Morton
Acked-by: "Patro, Sumant"
Signed-off-by: James Bottomley
09 May, 2007
2 commits
-
For this driver cond_resched() seems to be a better alternative
Signed-off-by: Amol Lad
Signed-off-by: Andrew Morton
Signed-off-by: James Bottomley -
drivers/scsi/megaraid.c: In function 'megaraid_probe_one':
drivers/scsi/megaraid.c:4893: warning: implicit declaration of function 'mega_create_proc_entry'
drivers/scsi/megaraid.c: In function 'megaraid_remove_one':
drivers/scsi/megaraid.c:4968: warning: unused variable 'buf'Fix by adding #defines
Signed-off-by: walter harms
Signed-off-by: Alexey Dobriyan
Signed-off-by: Andrew Morton
Signed-off-by: James Bottomley
03 May, 2007
1 commit
-
Convert code that allocs a struct pci_dev to use alloc_pci_dev().
Signed-off-by: Michael Ellerman
Signed-off-by: Greg Kroah-Hartman
16 Feb, 2007
1 commit
-
Convert pci_module_init() to pci_register_driver().
Signed-off-by: Richard Knutsson
Acked-by: "Patro, Sumant"
Signed-off-by: James Bottomley
13 Feb, 2007
1 commit
-
Many struct file_operations in the kernel can be "const". Marking them const
moves these to the .rodata section, which avoids false sharing with potential
dirty data. In addition it'll catch accidental writes at compile time to
these shared resources.Signed-off-by: Arjan van de Ven
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
06 Dec, 2006
1 commit
-
megaraid's MMIO RD*/WR* macros directly call readl() and writel() with
an 'unsigned long' argument. This throws a warning, but is otherwise OK
because the 'unsigned long' is really the result of ioremap(). This
setup is also OK because the variable can hold an ioremap cookie /or/ a
PCI I/O port (PIO).However, to fix the warning thrown when readl() and writel() are passed
an unsigned long cookie, I introduce 'void __iomem *mmio_base', holding
the same value as 'base'. This will silence the warnings, and also
cause an oops whenever these MMIO-only functions are ever accidentally
passed an I/O address.Signed-off-by: Jeff Garzik
Signed-off-by: James Bottomley
05 Oct, 2006
1 commit
-
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)
24 Sep, 2006
1 commit
-
Check copy_to_user() return value in drivers/scsi/megaraid.c::megadev_ioctl()
This gets rid of this little warning:
drivers/scsi/megaraid.c:3661: warning: ignoring return value of 'copy_to_user', declared with attribute warn_unused_resultSigned-off-by: Jesper Juhl
Acked-by: "Ju, Seokmann"
Signed-off-by: James Bottomley
07 Aug, 2006
1 commit
-
- Replace scsi_device_types array API with scsi_device_type function API.
Gets rid of a lot of common code, as well as being easier to use.
- Add the new device types in SPC4 r05a, and rename some of the older ones.
- Reformat the printing of inquiry data; now fits on one line and
includes PQ.I think I've addressed all the feedback from the previous versions. My
current test box prints:scsi 2:0:1:0: Direct access HP 18.2G ATLAS10K3_18_SCA HP05 PQ: 0 ANSI: 2
Signed-off-by: Matthew Wilcox
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
23 Jun, 2006
1 commit
-
Signed-off-by: Eric Sesterhenn
Signed-off-by: Alexey Dobriyan
Cc: Bartlomiej Zolnierkiewicz
Cc: Alan Cox
Cc: James Bottomley
Acked-by: "Salyzyn, Mark"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
11 Jun, 2006
1 commit
06 Jun, 2006
1 commit
-
Various scsi drivers use scsi_cmnd.buffer and scsi_cmnd.bufflen in their
queuecommand functions. Those fields are internal storage for the
midlayer only and are used to restore the original payload after
request_buffer and request_bufflen have been overwritten for EH. Using
the buffer and bufflen fields means they do very broken things in error
handling.Signed-off-by: Christoph Hellwig
Signed-off-by: James Bottomley
20 Apr, 2006
1 commit
-
drivers/scsi/megaraid.c: In function `mega_internal_command':
drivers/scsi/megaraid.c:4474: warning: unused variable `flags'Signed-off-by: Andrew Morton
Signed-off-by: James Bottomley
29 Mar, 2006
1 commit
-
Replace all occurences of 0xff.. in calls to function pci_set_dma_mask()
and pci_set_consistant_dma_mask() with the corresponding DMA_xBIT_MASK from
linux/dma-mapping.h.Signed-off-by: Matthias Gehre
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
13 Feb, 2006
1 commit
-
Attached patch fixes problem that cause kobject_register failure
during loading. Kobject_register would fail when there are more than
1 module with same module name. This patch will change module name of
megaraid_legacy from 'megaraid' to 'megaraid_legacy'.Signed-Off-by: Seokmann Ju
Signed-off-by: James Bottomley
13 Jan, 2006
1 commit
-
the scsi layer is using semaphores in a mutex way, this patch converts
these into using mutexes insteadSigned-off-by: Arjan van de Ven
Signed-off-by: James Bottomley
16 Dec, 2005
1 commit
-
This merge is pretty extensive. The conflict is over the new
req->retries parameter, so I had to change the prototype to
scsi_setup_blk_pc_cmnd() and the usage in sd, sr and st.Signed-off-by: James Bottomley
14 Dec, 2005
1 commit
-
This patch fixes
- PCI ID overlap issue
- node name changed to 'megaraid_legacy'
I hope this patch addresses concerns brought by Daniel Drake.Signed-off by: Seokmann Ju
Signed-off-by: James Bottomley
08 Dec, 2005
1 commit
-
The SCSI megaraid drive goes to great effort to kmap
the scatterlist buffer (if used), but then uses the
wrong pointer when copying to it afterward.Signed-off-by: Mark Lord
Acked by: Ju, Seokmann
Signed-off-by: James Bottomley
30 Nov, 2005
1 commit
-
This fixes locking in megaraid.c, namely:
(1) make sure megaraid_queue release the adapter lock by changing the
code to have a single return
(2) remove the errornous scsi_assign_lock callTesting by Burton Windle.
Signed-off-by: Christoph Hellwig
Acked-by: Burton Windle
Signed-off-by: Linus Torvalds
10 Nov, 2005
1 commit
-
Signed-off-by: James Bottomley
07 Nov, 2005
1 commit
-
just take the adapter lock in megaraid_queue. Additional benefit is
that we can get rid of the awkward conditional locking in
mega_internal_command.Signed-off-by: Christoph Hellwig
Signed-off-by: James Bottomley
03 Oct, 2005
1 commit
-
Some Legacy megaraid cards can't actually cope with the scatter/gather
version of the READ CAPACITY command (which is what we now send them
since altering all SCSI internal I/O to go via the block layer). Fix
this (and a few other broken megaraid driver assumptions) by sending
the non-sg version of the command if the sg list only has a single
element.Signed-off-by: James Bottomley
27 Jul, 2005
1 commit
28 Jun, 2005
1 commit
-
Now we can change the pci core to always set this pointer, as pci drivers
should use it, not the driver core callback.Signed-off-by: Greg Kroah-Hartman
27 Jun, 2005
1 commit
-
We never look at it except for the old megaraid driver that abuses it
for sending internal commands. That usage can be fixed easily because
those internal commands are single-threaded by a mutex and we can easily
use a completion there.Signed-off-by: James Bottomley