- 13 2月, 2006 1 次提交
-
-
由 Tejun Heo 提交于
Use ata_dev_id_c_string() Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 12 2月, 2006 1 次提交
-
-
由 Tejun Heo 提交于
In an effort to kill libata-specific assert() and use generic WARN_ON(), this patch converts all assert(X)'s in libata core layer to WARN_ON(!X)'s. Most conversions are straight-forward logical negation exception for the followings. * In libata-core.c:ata_fill_sg(), assert(qc->n_elem > 0) is converted to WARN_ON(qc->n_elem == 0) because qc->n_elem is unsigned and unsigned <= 0 is weird. * In libata-scsi.c:ata_gen_ata_desc/fixed_sense(), assert(NULL != qc->ap->ops->tf_read) is converted to WARN_ON(qc->ap->ops->tf_read == NULL), as there are no other users of 'constant cond var' style in libata. Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 10 2月, 2006 3 次提交
-
-
由 Tejun Heo 提交于
->eng_timeout cannot be invoked with NULL qc anymore. Add an assertion in ata_scsi_error() and kill NULL qc handling from all ->eng_timeout callbacks. Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Tejun Heo 提交于
Implement ata_scsi_timed_out(), to be used as scsi_host_template->eh_timed_out callback for all libata drivers. Without this function, the following race exists. If a qc completes after SCSI timer expires but before libata EH kicks in, the qc gets completed but the scsicmd still gets passed to libata EH resulting in ->eng_timeout invocation with NULL qc, which none is handling properly. This patch makes sure that scmd and qc share the same lifetime. Original idea from Jeff Garzik <jgarzik@pobox.com>. Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Tejun Heo 提交于
Add ATA_QCFLAG_EH_SCHEDULED. If this flag is set, the qc is owned by EH and normal completion path is not allowed to finish it. This patch doesn't actually use this flag. Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 09 2月, 2006 2 次提交
-
-
由 Jeff Garzik 提交于
-
由 Tejun Heo 提交于
ATA_FLAG_IN_EH flag is set on entry to EH and cleared on completion. This patch just sets and clears the flag. Following patches will build normal qc execution / EH synchronization aroung this flag. Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 30 1月, 2006 1 次提交
-
-
由 Jens Axboe 提交于
It looks like they are either discarding or corrupting data when the FUA command is used, bad. Signed-off-by: NJens Axboe <axboe@suse.de>
-
- 29 1月, 2006 1 次提交
-
-
由 Randy Dunlap 提交于
This is a merger of libata docs + cleanups from Martin Waitz <tali@admingilde.org> and me. From: Randy Dunlap <rdunlap@xenotime.net> From: Martin Waitz <tali@admingilde.org> Fix libata kernel-doc comments to match code. Add some function parameters to kernel-doc. Fix some typos/spellos. Put comments in <= 80 columns. Make one DPRINTK string unique. Fix sparse cast warnings. Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 27 1月, 2006 4 次提交
-
-
由 Tejun Heo 提交于
Implement ata_eh_qc_complete/retry() using scsi_eh_finish_cmd() and scsi_eh_flush_done_q(). This removes all eh scsicmd finish hacks from low level drivers. This change was first suggested by Jeff Garzik. Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Tejun Heo 提交于
Return AC_ERR_* mask from issue fuctions instead of 0/-1. This enables things like failing a qc with AC_ERR_HSM when the device doesn't set DRDY when the qc is about to be issued. Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Tejun Heo 提交于
When ata_qc_issue() fails, the qc might have been dma mapped or not. So, performing only ata_qc_free() results in dma map leak. This patch makes ata_qc_issue() mark dma map flags correctly on failure and calls ata_qc_complete() after ata_qc_issue() fails. Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Tejun Heo 提交于
qc used to be freed automatically on command completion. However, as a qc can carry information about its completion status, it can be useful to its owner/issuer after command completion. This patch makes freeing qc responsibility of its owner. This simplifies ata_exec_internal() and makes command turn-around for atapi request sensing less hackish. This change was originally suggested by Jeff Garzik. Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 07 1月, 2006 1 次提交
-
-
由 Jens Axboe 提交于
This patch adds suspend patch to libata, and ata_piix in particular. For most low level drivers, they should just need to add the 4 hooks to work. As I can only test ata_piix, I didn't enable it for more though. Suspend support is the single most important feature on a notebook, and most new notebooks have sata drives. It's quite embarrassing that we _still_ do not support this. Right now, it's perfectly possible to suspend the drive in mid-transfer. Signed-off-by: NJens Axboe <axboe@suse.de> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 06 1月, 2006 1 次提交
-
-
由 Tejun Heo 提交于
Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJens Axboe <axboe@suse.de>
-
- 24 12月, 2005 1 次提交
-
-
由 Tony Battersby 提交于
The following patch prevents libata from incorrectly modifying inquiry VPD pages and command support data from ATAPI devices. I have tested the patch with a SATA ATAPI tape drive on an AHCI controller. Patch is against kernel 2.4.32 with 2.4.32-libata1.patch applied. Anthony J. Battersby Cybernetics Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 13 12月, 2005 1 次提交
-
-
由 Jeff Garzik 提交于
Some hardware does not support the PACKET command at all. Other hardware supports ATAPI, but the driver does something nasty such as calling BUG() when an ATAPI command is issued. For these such cases, we mark them with a new flag, ATA_FLAG_NO_ATAPI. Initial version contributed by Ben Collins.
-
- 06 12月, 2005 1 次提交
-
-
由 Albert Lee 提交于
- remove err_mask from the parameter list of the complete functions - move err_mask to ata_queued_cmd - initialize qc->err_mask when needed - for each function call to ata_qc_complete(), replace the err_mask parameter with qc->err_mask. Signed-off-by: NAlbert Lee <albertcc@tw.ibm.com> =============== Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 04 12月, 2005 1 次提交
-
-
由 Tejun Heo 提交于
This patch makes ata_scsi_pass_thru() properly set result code and sense data on translation failures. Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 01 12月, 2005 1 次提交
-
-
由 Arjan van de Ven 提交于
Hi, the patch below marks several libata (and libata-driver) structures const so that they end up in the .rodata segment and don't false-share cachelines with things that get dirtied often. Signed-off-by: NArjan van de Ven <arjan@infradead.org> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 15 11月, 2005 1 次提交
-
-
由 Jeff Garzik 提交于
- Move ATAPI check-condition handling out of the timeout handler - Use multi-qc-issue feature to issue REQUEST SENSE ATAPI PACKET command upon receiving an ATAPI check-condition. This cleans things up a lot, and eliminates a nasty recursion bug.
-
- 14 11月, 2005 1 次提交
-
-
由 Mark Lord 提交于
-
- 12 11月, 2005 1 次提交
-
-
由 Mike Christie 提交于
scsi_wait_req does not exist any more in the SCSI layer. This patch makes it so libata can compile again. Signed-off-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 10 11月, 2005 1 次提交
-
-
由 Alan Cox 提交于
Signed-off-by: NAlan Cox <alan@redhat.com> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 09 11月, 2005 1 次提交
-
-
由 Randy Dunlap 提交于
Fix all reported kernel-doc errors in libata. Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 07 11月, 2005 1 次提交
-
-
由 Jeff Garzik 提交于
-
- 31 10月, 2005 1 次提交
-
-
由 Jeff Garzik 提交于
A lot of power packed into a little patch. This change eliminates the sharing between our controller-wide spinlock and the SCSI core's Scsi_Host lock. As the locking in libata was already highly compartmentalized, always referencing our own lock, and never scsi_host::host_lock. As a side effect, this change eliminates a deadlock from calling scsi_finish_command() while inside our spinlock.
-
- 30 10月, 2005 1 次提交
-
-
由 Jeff Garzik 提交于
The second argument to ata_qc_complete() was being used for two purposes: communicate the ATA Status register to the completion function, and indicate an error. On legacy PCI IDE hardware, the latter is often implicit in the former. On more modern hardware, the driver often completely emulated a Status register value, passing ATA_ERR as an indication that something went wrong. Now that previous code changes have eliminated the need to use drv_stat arg to communicate the ATA Status register value, we can convert it to a mask of possible error classes. This will lead to more flexible error handling in the future.
-
- 29 10月, 2005 1 次提交
-
-
由 Douglas Gilbert 提交于
- move default mode pages to the front of libata-scsi.c so various functions can access them - partial annotation of these pages, point out divergence from sat-r06 - replace various mode page magic numbers with defines - strengthen MODE SENSE command decoding: handle DBD bit in cdb, yield block descriptor (per sat-r06) and handle mode sub pages Signed-off-by: NDouglas Gilbert <dougg@torque.net> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 23 10月, 2005 1 次提交
-
-
由 Jeff Garzik 提交于
Enforce access rules where appropriate. If the compiler is smart enough, this may buy us an optimization or two as a side effect.
-
- 19 10月, 2005 3 次提交
-
-
由 Albert Lee 提交于
- add lba_28_ok() and lba_48_ok() to ata.h. - check ending block number instead of staring block number. - use lba_28_ok() for CHS range check - LBA28/LBA48 optimization Suggested by Mark Lord and Alan Cox. Signed-off-by: NAlbert Lee <albertcc@tw.ibm.com> ===== Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Albert Lee 提交于
- merge ata_prot_to_cmd() and ata_dev_set_protocol() as ata_rwcmd_protocol() - pave road for read/write multiple support - remove usage of pre-cached command and protocol values and call ata_rwcmd_protocol() instead Signed-off-by: NAlbert Lee <albertcc@tw.ibm.com> ============== Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Albert Lee 提交于
move the initialization of taskfile LBA flags "ATA_TFLAG_LBA" and "ATA_TFLAG_LBA48 flags" to the SCSI translation functions Signed-off-by: NAlbert Lee <albertcc@tw.ibm.com> ============= Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 09 10月, 2005 3 次提交
-
-
由 Jeff Garzik 提交于
-
由 Douglas Gilbert 提交于
- change "xlat" and "fill" actors in libata-scsi so they are responsible for SCSI status and sense data when they return 1. This allows GOOD status or a specialized error to be set. - yield an error for mode sense requests for saved values [sat-r06] - remove static inlines for ata_bad_scsiop() and ata_bad_cdb() which are no longer used Signed-off-by: NDouglas Gilbert <dougg@torque.net> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Douglas Gilbert 提交于
- add extern ata_scsi_set_sense() to build SCSI fixed sense data and corresponding SCSI status Signed-off-by: NDouglas Gilbert <dougg@torque.net> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
- 06 10月, 2005 4 次提交
-
-
由 Jeff Garzik 提交于
-
由 Jeff Garzik 提交于
A few code shuffles, to make merging future code easier. Add (DRIVER_SENSE << 24) to certain result codes, as noted by Douglas Gilbert.
-
由 Jeff Garzik 提交于
No content changes, just moving code around.
-
由 Jeff Garzik 提交于
1) note urgent bug, that completes command twice 2) only fix up INQUIRY data if the SCSI version is zero (typically indicates ATAPI MMC-ish device) 3) if there is a problem on the ATA bus, don't bother with REQUEST SENSE, just directly handle the error based on Status/Error registers.
-