22 Apr, 2009
1 commit
-
There is currently only one way for userspace to say "wait for my storage
device to get ready for the modules I just loaded": to load the
scsi_wait_scan module. Expectations of userspace are that once this
module is loaded, all the (storage) devices for which the drivers
were loaded before the module load are present.Now, there are some issues with the implementation, and the async
stuff got caught in the middle of this: The existing code only
waits for the scsy async probing to finish, but it did not take
into account at all that probing might not have begun yet.
(Russell ran into this problem on his computer and the fix works for him)This patch fixes this more thoroughly than the previous "fix", which
had some bad side effects (namely, for kernel code that wanted to wait for
the scsi scan it would also do an async sync, which would deadlock if you did
it from async context already.. there's a report about that on lkml):
The patch makes the module first wait for all device driver probes, and then it
will wait for the scsi parallel scan to finish.Signed-off-by: Arjan van de Ven
Tested-by: Russell King
Signed-off-by: Linus Torvalds
15 Apr, 2009
1 commit
-
Fix lpfc_parse_bg_err()'s use of do_div(). It should be passing a 64-bit
variable as the first parameter. However, since it's only using a 32-bit
variable, it doesn't need to use do_div() at all, but can instead use the
division operator.This deals with the following warnings:
CC drivers/scsi/lpfc/lpfc_scsi.o
drivers/scsi/lpfc/lpfc_scsi.c: In function 'lpfc_parse_bg_err':
drivers/scsi/lpfc/lpfc_scsi.c:1397: warning: comparison of distinct pointer types lacks a cast
drivers/scsi/lpfc/lpfc_scsi.c:1397: warning: right shift count >= width of type
drivers/scsi/lpfc/lpfc_scsi.c:1397: warning: passing argument 1 of '__div64_32' from incompatible pointer typeSigned-off-by: David Howells
Signed-off-by: Linus Torvalds
14 Apr, 2009
2 commits
-
This is the second go through of the old DMA_nBIT_MASK macro,and there're not
so many of them left,so I put them into one patch.I hope this is the last round.
After this the definition of the old DMA_nBIT_MASK macro could be removed.Signed-off-by: Yang Hongyang
Cc: Russell King
Cc: Tony Lindgren
Cc: "David S. Miller"
Cc: James Bottomley
Cc: Greg KH
Cc: Takashi Iwai
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
There is a race between resume from hibernation and the asynchronous
scanning of SCSI devices and to prevent it from happening we need to
call scsi_complete_async_scans() during resume from hibernation.In addition, if the resume from hibernation is userland-driven, it's
better to wait for all device probes in the kernel to complete before
attempting to open the resume device.Signed-off-by: Rafael J. Wysocki
Acked-by: Arjan van de Ven
Signed-off-by: Linus Torvalds
11 Apr, 2009
1 commit
-
* git://git.infradead.org/~dwmw2/firmware-2.6:
qla1280: Fix off-by-some error in firmware loading.
Add README.AddingFirmware file. Basically telling people not to.
firmware: Remove newly-added slicoss and sxg firmware images
firmware/WHENCE: Add missing origin information for Ambassador atmsar11.fw
ALSA: wavefront - Always use request_firmware()
Remove fdump tool for av7110 firmware
firmware: convert av7110 driver to request_firmware()
Partially revert "V4L/DVB (9533): cx88: Add support for TurboSight TBS8910 DVB-S PCI card"
Revert "fix modules_install via NFS"Add-add conflicts in firmware/WHENCE fixed manually
08 Apr, 2009
1 commit
-
We were calculating the wrong address for the start of the data.
Signed-off-by: David Woodhouse
Tested-by: Jeremy Higdon
07 Apr, 2009
6 commits
-
Replace all DMA_31BIT_MASK macro with DMA_BIT_MASK(31)
Signed-off-by: Yang Hongyang
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
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_39BIT_MASK macro with DMA_BIT_MASK(39)
Signed-off-by: Yang Hongyang
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Replace all DMA_40BIT_MASK macro with DMA_BIT_MASK(40)
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 -
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (74 commits)
[SCSI] sg: fix q->queue_lock on scsi_error_handler path
[SCSI] replace __inline with inline
[SCSI] a2091: make 2 functions static
[SCSI] a3000: make 2 functions static
[SCSI] ses: #if 0 the unused ses_match_host()
[SCSI] use kmem_cache_zalloc instead of kmem_cache_alloc/memset
[SCSI] sg: fix iovec bugs introduced by the block layer conversion
[SCSI] qlogicpti: use request_firmware
[SCSI] advansys: use request_firmware
[SCSI] qla1280: use request_firmware
[SCSI] libiscsi: fix iscsi pool error path
[SCSI] cxgb3i: call ddp release function directly
[SCSI] cxgb3i: merge cxgb3i_ddp into cxgb3i module
[SCSI] cxgb3i: close all tcp connections upon chip reset
[SCSI] cxgb3i: re-read ddp settings information after chip reset
[SCSI] cxgb3i: re-initialize ddp settings after chip reset
[SCSI] cxgb3i: subscribe to error notification from cxgb3 driver
[SCSI] aacraid driver update
[SCSI] mptsas: remove unneeded check
[SCSI] config: Make need for SCSI_CDROM clearer
...
04 Apr, 2009
1 commit
-
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (28 commits)
trivial: Update my email address
trivial: NULL noise: drivers/mtd/tests/mtd_*test.c
trivial: NULL noise: drivers/media/dvb/frontends/drx397xD_fw.h
trivial: Fix misspelling of "Celsius".
trivial: remove unused variable 'path' in alloc_file()
trivial: fix a pdlfush -> pdflush typo in comment
trivial: jbd header comment typo fix for JBD_PARANOID_IOFAIL
trivial: wusb: Storage class should be before const qualifier
trivial: drivers/char/bsr.c: Storage class should be before const qualifier
trivial: h8300: Storage class should be before const qualifier
trivial: fix where cgroup documentation is not correctly referred to
trivial: Give the right path in Documentation example
trivial: MTD: remove EOL from MODULE_DESCRIPTION
trivial: Fix typo in bio_split()'s documentation
trivial: PWM: fix of #endif comment
trivial: fix typos/grammar errors in Kconfig texts
trivial: Fix misspelling of firmware
trivial: cgroups: documentation typo and spelling corrections
trivial: Update contact info for Jochen Hein
trivial: fix typo "resgister" -> "register"
...
03 Apr, 2009
27 commits
-
sg_rq_end_io() is called via rq->end_io. In some rare cases,
sg_rq_end_io calls blk_put_request/blk_rq_unmap_user (when a program
issuing a command has gone before the command completion; e.g. by
interrupting a program issuing a command before the command
completes).We can't call blk_put_request/blk_rq_unmap_user in interrupt so the
commit c96952ed7031e7c576ecf90cf95b8ec099d5295a uses
execute_in_process_context().The problem is that scsi_error_handler() calls rq->end_io too. We
can't call blk_put_request/blk_rq_unmap_user too in this path (we hold
q->queue_lock).To avoid the above problem, in these rare cases, this patch always
uses schedule_work() instead of execute_in_process_context().Signed-off-by: FUJITA Tomonori
Acked-by: Douglas Gilbert
Cc: Stable Tree
Signed-off-by: James Bottomley -
Signed-off-by: Harvey Harrison
Acked-by: Jeff Garzik
Acked-by: Hannes Reinecke
Signed-off-by: Andrew Morton
Signed-off-by: James Bottomley -
a2091_{detect,release}() can become static.
Signed-off-by: Adrian Bunk
Signed-off-by: Andrew Morton
Signed-off-by: James Bottomley -
a3000_{detect,release}() can become static.
Signed-off-by: Adrian Bunk
Signed-off-by: Andrew Morton
Signed-off-by: James Bottomley -
Signed-off-by: Adrian Bunk
Signed-off-by: Andrew Morton
Signed-off-by: James Bottomley -
Signed-off-by: Wei Yongjun
Signed-off-by: Andrew Morton
Signed-off-by: James Bottomley -
- needs to use copy_from_user for iovec before passing it to
blk_rq_map_user_iov().- before the block layer conversion, if ->dxfer_len and sum of iovec
disagrees, the shorter one wins. However, currently sg returns
-EINVAL. This restores the old behavior.Signed-off-by: FUJITA Tomonori
Acked-by: Douglas Gilbert
Cc: stable@kernel.org
Signed-off-by: James Bottomley -
Firmware blob is little endian
Thanks to Stephen Rothwell for fixing typos
Signed-off-by: Jaswinder Singh Rajput
Signed-off-by: James Bottomley -
Firmware blob looks like this...
__le32 checksum
unsigned char data[]Signed-off-by: Jaswinder Singh Rajput
Signed-off-by: James Bottomley -
Firmware blob is little endian looks like this...
unsigned char Version1
unsigned char Version2
unsigned char Version3
unsigned char Padding
unsigned short start_address
unsigned short dataSigned-off-by: Jaswinder Singh Rajput
Signed-off-by: James Bottomley -
Le lundi 30 mars 2009, Chris Wright a écrit :
> q->queue could be ERR_PTR(-ENOMEM) which will break unwinding
> on error. Make iscsi_pool_free more defensive.
>Making the freeing of q->queue dependent on q->pool being set looks
really weird (although it is correct at the moment. But this seems
to be fixable in a much simpler way.With the benefit that only the error case is slowed down. In both
cases we have a problem if q->queue contains an error value but it's
not -ENOMEM. Apparently this can't happen today, but it doesn't feel
right to assume this will always be true. Maybe it's the right time
to fix this as well.Signed-off-by: Mike Christie
Signed-off-by: James Bottomley -
cxgb3i_ddp_cleanup just calls ddp_release directly so there is
no reason for the wrapper. This patch just renames ddp_release
to cxgb3i_ddp_cleanup and removes the old wrapper function.Signed-off-by: Mike Christie
Signed-off-by: James Bottomley -
- Merge cxgb3i_ddp.ko to cxgb3i.ko as there is no other users.
- Bump the driver version up to 1.0.2.Signed-off-by: Karen Xie
Signed-off-by: Mike Christie
Signed-off-by: James Bottomley -
Keep track of offloaded tcp connections per adapter. Close all of the
connections upon reset.Signed-off-by: Karen Xie
Signed-off-by: Mike Christie
Signed-off-by: James Bottomley -
Orignally from Karen Xie, but merge conflicts/errors fixed up by
Mike Christie.Signed-off-by: Karen Xie
Signed-off-by: Mike Christie
Signed-off-by: James Bottomley -
Re-initialize the ddp settings after chip reset. It includes re-initialize
the related registers and the ddp map.Signed-off-by: Karen Xie
Signed-off-by: Mike Christie
Signed-off-by: James Bottomley -
Add error notification handling function which is called during chip reset.
Signed-off-by: Karen Xie
Signed-off-by: Mike Christie
Signed-off-by: James Bottomley -
changes:
- set aac_cache=2 as default value to avoid performance problem
(Novell bugzilla #469922)- Dell/PERC controller boot problem fixed (RedHat bugzilla #457552)
- WWN flag added to fix SLES10 SP1/SP2 drive detection problems
- 64-bit support changes
- DECLARE_PCI_DEVICE_TABLE macro added
- controller type changes
Signed-off-by: Achim Leubner
Signed-off-by: James Bottomley -
Mention ATAPI. We could insert an essay about libata and ide-scsi etc but
the failure case is someone enables it which is just fine so keep it
simple.(Revised text from suggestion by Matthew Wilcox)
Closes #7736
Signed-off-by: Alan Cox
Signed-off-by: James Bottomley -
Signed-off-by: Ed Lin
Signed-off-by: James Bottomley -
This adds the support of a new SAS 6G controller (st_yel)
Signed-off-by: Ed Lin
Signed-off-by: James Bottomley -
Use config struct (st_card_info) for parameters of different controllers
Signed-off-by: Ed Lin
Signed-off-by: James Bottomley -
This adds the MSI support (default 0=off)
Signed-off-by: Ed Lin
Signed-off-by: James Bottomley -
These are some small code fixes and changes, including:
- use 64 bit when possible
- remove some unnecessary code (in interrupt, queuecommand routine etc.)
- code change for reset handlerSigned-off-by: Ed Lin
Signed-off-by: James Bottomley -
FIP is the new standard way to discover Fibre-Channel Forwarders (FCFs)
by sending solicitations and listening for advertisements from FCFs.It also provides for keep-alives and period advertisements so that both
parties know they have connectivity. If the FCF loses connectivity to
the storage fabric, it can send a Link Reset to inform the E_node.This version is also compatible with pre-FIP implementations, so no
configured selection between FIP mode and non-FIP mode is required.We wait a couple seconds after sending the initial solicitation
and then send an old-style FLOGI. If we receive any FIP frames,
we use FIP only mode. If the old FLOGI receives a response,
we disable FIP mode. After every reset or link up, this
determination is repeated.Signed-off-by: Joe Eykholt
Signed-off-by: Vasu Dev
Signed-off-by: Robert Love
Signed-off-by: James Bottomley -
The foce_softc mem was reserved by libfc_host_alloc as well as
by fcoe_host_alloc.Removes one liner fcoe_host_alloc completely, instead directly calls
libfc_host_alloc to alloc scsi_host with libfc for just one fcoe_softc
as fcoe private data.Moves libfc_host_alloc to libfc.h since it is a libfc API, placed
lport_priv API adjacent to libfc_host_alloc since this is related
to scsi_host priv data.Signed-off-by: Vasu Dev
Signed-off-by: Robert Love
Signed-off-by: James Bottomley -
Removes no where used several inline functions prefixed with skb_*
and be16_to_cpu.Moves fcoe module specific func prototypes to fcoe.c from libfcoe.h,
moved only need for build.Adds fcoe module header file fcoe.h and then moves fcoe module
specific fcoe_percpu_s and fcoe_softc to fcoe.h from libfcoe.h.Moves all defines from fcoe.c to fcoe.h since now fcoe module
has its own header file fcoe.h.[jejb: removed EXPORT_SYMBOL_GPL(fcoe_fc_crc) which caused a section mismatch]
Signed-off-by: Vasu Dev
Signed-off-by: Robert Love
Signed-off-by: James Bottomley