21 Jul, 2007
6 commits
-
unfortunately, if IS_ERR(class_dev) is true, that means class_dev isn't
null and the check in the error leg is pointless ... it's also asking
for trouble to request unregistration of a device we haven't actually
created (although it works currently). Fix by using explicit gotos and
unregisters.Acked-by: FUJITA Tomonori
Signed-off-by: James Bottomley -
This matches the original driver's value and seems to be
necessary for some disks on sun4c systems.Reported by Mark Fortescue
Signed-off-by: David S. Miller
Signed-off-by: James Bottomley -
This fixes up the usage in libsas (which are easy to miss, since they're
only in the scsi-misc tree) ... and also corrects the documentation on
the point of what these two function pointers actually return.Signed-off-by: James Bottomley
-
Update help in Kconfig for mptfc driver to indicate the driver supports
Brocade FC 4G HBA.signed-off-by: Gwendal Grignou
Acked-by: Eric Moore
Signed-off-by: James Bottomley -
There's currently no destructor for the bsg components. If you insert
and remove the module, you see the bsg devices building up and up. This
patch adds the destructor in the correct place in the transport class so
that the bsg and request queue are removed just before the device
destruction.Acked-by: FUJITA Tomonori
Signed-off-by: James Bottomley -
Signed-off-by: Al Viro
Cc: Mike Christie
Signed-off-by: James Bottomley
20 Jul, 2007
11 commits
-
Signed-off-by: Andrew Vasquez
Signed-off-by: James Bottomley -
Large code-reuse from ISP24xx, consolidate RISC memory
extraction routines during firmware-dump.Signed-off-by: Andrew Vasquez
Signed-off-by: James Bottomley -
As the "must-check" return-value of pci_set_msi() is never
really checked.Signed-off-by: Andrew Vasquez
Signed-off-by: James Bottomley -
Original from Peter Oruba . Additional
cleanups included.Signed-off-by: Andrew Vasquez
Signed-off-by: James Bottomley -
In preparation for new ISP types.
Signed-off-by: Andrew Vasquez
Signed-off-by: James Bottomley -
Signed-off-by: Andrew Vasquez
Signed-off-by: James Bottomley -
Signed-off-by: Andrew Vasquez
Signed-off-by: James Bottomley -
In preparation for new ISP types.
Signed-off-by: Andrew Vasquez
Signed-off-by: James Bottomley -
In preparation for new ISP types.
Signed-off-by: Andrew Vasquez
Signed-off-by: James Bottomley -
This patch moves the bsg registration into SCSI so that bsg no longer
has a dependency on the scsi_interface_register API.This can be viewed as a temporary expedient until we can get universal
bsg binding sorted out properly. Also use the sdev bus_id as the
generic bsg name (to avoid clashes with the queue name).Acked-by: FUJITA Tomonori
Acked-by: Jens Axboe
Signed-off-by: James Bottomley -
Signed-off-by: Kristian Høgsberg
collapsed with fw-sbp2 patch "Drop cast to non-const char * in host
template initialization." from Kristian HøgsbergSigned-off-by: Stefan Richter
Signed-off-by: James Bottomley
19 Jul, 2007
23 commits
-
improve code for buffer enqueue. easy readability and maintainability.
Signed-off-by: Swen Schillig
Signed-off-by: James Bottomley -
Get rid of two 'warning: Using plain integer as NULL pointer'.
Signed-off-by: Heiko Carstens
Signed-off-by: Swen Schillig
Signed-off-by: James Bottomley -
Memory allocated with kmalloc is always initialzed to 0 with memset.
Replace the two calls with kzalloc, that already does both steps.Signed-off-by: Swen Schillig
Signed-off-by: James Bottomley -
Signed-off-by: FUJITA Tomonori
Signed-off-by: James Bottomley -
This patch adds support for SAS Management Protocol (SMP) passthrough
support via bsg. aic94xx can use this.Signed-off-by: FUJITA Tomonori
Signed-off-by: James Bottomley -
The sas transport class attaches one bsg device to every SAS object
(host, device, expander, etc). LLDs can define a function to handle
SMP requests via sas_function_template::smp_handler.Signed-off-by: FUJITA Tomonori
Signed-off-by: James Bottomley -
Fix drivers misusing dev_to_shost
Some drivers were using dev_to_shost to go from a struct device to the
corresponding shost. Unfortunately, dev_to_shost only looks up the tree
to find an shost (it's designed to go from a scsi_device or a
scsi_target to the parent scsi_host), and these drivers were calling it
with the parent of the scsi_host.I've fixed this by saving a pointer to the Scsi_Host in the drvdata,
which matches what most scsi drivers do.Signed-off-by: Matthew Wilcox
Cc: Geert Uytterhoeven
Signed-off-by: James Bottomley -
Report VPD inquiry page 0x80 with an unique array creation serial
number (CUID). When an array is created, the metadata stored on the
physical drives gets an unique serial number. This serial number
remains constant through array morphing or migration to other
controllers. This patch is a forward port and modification to survive
morphing and migration operations, of a similar piece of
(un-attributed author) code added to the SLES10 SP1 aacraid driver.To test the results of the patch, observe that /dev/disk/by-id/
entries will show up for the arrays resulting from the udev rules.
Also, as per the udev rules, 'scsi_id -g -x -a -s /block/sd? -d
/dev/sd?' will report the ID_SERIAL as constructed from the inquiry
data.It was reported to me that the 'ADPT' leading the serial number was bad
form, that the inquiry vendor field was enough to differentiate the
storage uniquely. Subsequent search found that another Adaptec AAC based
driver reported the 8 hex serial number only without such adornments, so
dropped ADPT to match. Resubmitting the patch with this alteration.Signed-off-by: Mark Salyzyn
Signed-off-by: James Bottomley -
Incorrect dma mask was used for blinkled (firmware assert) recovery or
user initiated reset during initialization portion. Ensure that all
callers of aac_fib_map_free null out the fib allocation references to
prevent multiple free. Although serious sounding, no reports of these
problems have surfaced...Signed-off-by: Mark Salyzyn
Signed-off-by: James Bottomley -
During an Adapter Initiated scan request, the query disk ioctl reports a
value of 2 rather than 1 for the valid field. This presents a problem
for some legacy management applications.Signed-off-by: Mark Salyzyn
Signed-off-by: James Bottomley -
Add support for Brocade 410/420 4Gbit FC HBAs.
They are re-branded LSI HBAs [LSI7104EP-LC/LSI7204EP-LC]Signed-off-by: Sathya Prakash
Acked-by: "Moore, Eric"
Signed-off-by: James Bottomley -
The mptspi and mptsas drivers are modified to deregister from transport layer
if registration with PCI driver failedSigned-off-by: Sathya Prakash
Signed-off-by: James Bottomley -
Adds PCI_VENDOR_ID_BROCADE macro in include/linux/pci_ids.h file. This macro
is used in MPT Fusion FC drivers to support Brocade branded FC controllerssigned-off-by: Sathya Prakash
Signed-off-by: James Bottomley -
New sysfs scsi_host attributes are added to provide information about Firmware
version, BIOS version, MPI version and other product related informationsigned-off-by: Sathya Praksh
Acked-by: "Moore, Eric"
Signed-off-by: James Bottomley -
Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu",
so that the user can disable all the options in that menu at once
instead of having to disable each option separately.Signed-off-by: Jan Engelhardt
Signed-off-by: Andrew Morton
Signed-off-by: James Bottomley -
seagate_st0x_detect() can become static.
Signed-off-by: Adrian Bunk
Signed-off-by: Andrew Morton
Signed-off-by: James Bottomley -
- #include for getting the prototypes of {dis,en}able_irq()
- make the needlessly global wd33c93_setup() static
Signed-off-by: Adrian Bunk
Signed-off-by: Andrew Morton
Signed-off-by: James Bottomley -
This patch contains the following cleanups:
- make needlessly global functions static
- every file should #include the headers containing the prototypes for
it's global functionsSigned-off-by: Adrian Bunk
Signed-off-by: Andrew Morton
Signed-off-by: James Bottomley -
lockdep noticed that with ATA support the port->dev_list_lock was
entangled at irq context, so it now needs to become IRQ safeSigned-off-by: James Bottomley
-
This one was noticed by Gilbert Wu of Adaptec:
The libata core actually does the DMA mapping for you, so there has to
be an exception in the device drivers that *don't* do dma mapping for
ATA commands. However, since we've already done this, libsas must now
dma map any ATA commands that it wishes to issue ... and yes, this is a
horrible mess.Additionally, the test in aic94xx for ATA protocols isn't quite right.
Signed-off-by: James Bottomley
-
ATA devices need special handling for sas_task_abort. If the ATA command
came from SCSI, then we merely need to tell SCSI to abort the scsi_cmnd.
However, internal commands require a bit more work--we need to fill the qc
with the appropriate error status and complete the command, and eventually
post_internal will issue the actual ABORT TASK.Signed-off-by: James Bottomley
-
The SATL should connect the scsi_cmnd to the sas_task (despite the presence
of libata) so that requests to abort scsi_cmnds headed to the ATA device
can be processed by the EH and aborted correctly. The abort status should
still be propagated from sas -> ata -> scsi.Signed-off-by: Darrick J. Wong
Signed-off-by: James Bottomley -
When libsas encounters a STP device whose protocol isn't recognized (i.e.
not ATA or ATAPI), we should set the ata_device's class to ATA_DEV_UNKNOWN
instead of ATA_DEV_ATA.Signed-off-by: Darrick J. Wong
Signed-off-by: James Bottomley