sos
3d089cc2b5
Reintroduce the "recovered from lost interrupt" code, but in a new
...
(hopefully) panic safe way.
Why the interrupts are lost is still a mystery, to me at least.
2003-10-14 16:53:13 +00:00
sos
7712a47b75
Redo the code that handles eject/close.
2003-10-12 13:11:57 +00:00
sos
e9cd93f034
Avoid potential race on ATA_R_DONE.
2003-10-12 12:38:03 +00:00
sos
e0cb3af529
Put devices into sleep mode (ie spin down) on detach.
2003-10-12 12:37:11 +00:00
sos
4f4aab360e
Up timeout to 10s (from 5) in r/w commands.
2003-10-12 12:35:44 +00:00
sos
10cc9981e2
Use isprint instead of isalpha in determining valid ident string.
2003-10-12 11:10:41 +00:00
sos
2688d98031
Restore transfermode on devices after reinit.
2003-10-10 11:03:27 +00:00
sos
dff7842fed
Dont store ata_params for devices that return a bogus ident string.
2003-10-10 11:00:06 +00:00
sos
a2ab5a4d04
Fix the bug that prevented DMA from working on old Acer chips.
...
Found by: Andrew Gallatin <gallatin@cs.duke.edu>
Pointy hat to: sos
2003-10-09 14:33:06 +00:00
sos
93a92c1266
Give more correct params to busdma_*
2003-10-07 13:48:55 +00:00
sos
5efe096026
Improve timeout handling and reporting.
2003-10-07 13:47:40 +00:00
sos
d6450d69ba
Properly get out of transaction() if setting up the transfer fails.
2003-10-07 13:45:56 +00:00
sos
b36254292b
In case we loose a device during reset in reinit() finish off
...
the request with error instead of loosing it.
2003-10-07 13:44:15 +00:00
imp
e837ada539
Include pccard/pccard_cis.h here too
2003-10-07 04:26:14 +00:00
sos
c8f8c81f54
Fix the problem with accessing certain FLASH devices. The problem
...
was that accessing the status reg could occour too fast, confusing
the logic in the flash part. Could not have been located without:
HW donated by: Jonas Bülow <jonas@servicefactory.se>
2003-10-01 09:58:19 +00:00
phk
7099deadda
The present defaults for the open and close for device drivers which
...
provide no methods does not make any sense, and is not used by any
driver.
It is a pretty hard to come up with even a theoretical concept of
a device driver which would always fail open and close with ENODEV.
Change the defaults to be nullopen() and nullclose() which simply
does nothing.
Remove explicit initializations to these from the drivers which
already used them.
2003-09-27 12:01:01 +00:00
thomas
8bdc92f0f2
Enable DMA for ATAPI/CAM input/output operations.
...
Reviewed by: scottl
2003-09-24 18:40:10 +00:00
tmm
00a4662792
Fix inverted BURN_BRIDGES and GONE_IN_5 #ifdefs.
2003-09-22 17:58:40 +00:00
phk
2e70579d54
Make the clone handler BURN_BRIDGES but the actual 'a' and 'c' partition
...
check GONE_IN_5: We need the clone handler for root filesystem case.
Once under GEOM, we can remove the clone handler as GEOM provides one.
2003-09-21 18:57:12 +00:00
thomas
caa0284630
(atapi_cb): Reorganize error handling circuitry.
...
Fix to the messages output under CAM_DEBUG_CCB: the summary sense
information (error bits and sense key) is in the error field, not
in the result field, of struct ata_request. No other functional change.
2003-09-21 16:49:53 +00:00
thomas
b909344096
(atapi_cb): Disable autosense for now as it causes a missed ATA interrupt.
...
Minor reformatting.
2003-09-21 08:53:05 +00:00
sos
afa1f29efd
Dont reject a master device if it said slave failed.
2003-09-20 08:38:33 +00:00
thomas
8c7501fe47
(atapi_action): avoid memory leak in a marginal invalid ccb case.
...
(free_hcb): defend against calling TAILQ_REMOVE on an hcb that was
not inserted on pending_hcbs.
2003-09-19 16:25:44 +00:00
sos
6605c73f36
Always check the sensekey field on ATAPI returns
...
Add INQUIRY to cmd2str.
2003-09-19 12:46:12 +00:00
sos
656202405b
Cosmetics
2003-09-18 16:44:54 +00:00
sos
883996d3a1
Be a bit more restrictive in the probe so we dont hang around
...
on empty channels in most cases.
2003-09-18 16:43:08 +00:00
sos
14ff5b8544
Properly handle error code returns from the lower levels ATAPI code.
2003-09-18 09:22:14 +00:00
sos
c13a8cc2c7
When ignoring interrupts (due to no running request set) then try
...
to grap the channel so we can read status (and clear an evt pending
interrupt).
2003-09-16 15:21:37 +00:00
sos
8e84f6e31b
Rearrange the probe a bit first try ATAPI signatures then ATA.
2003-09-16 15:16:36 +00:00
sos
476595cf12
Properly cast longs to off_t so we dont loose precision.
2003-09-16 14:41:44 +00:00
phk
1ea5197e3f
Disable the use of cloning use in floppy and CD drivers.
...
This commit puts the relevant code snippets under #ifdef GONE_IN_5
(rather than #ifndef BURN_BRIDGES) thereby disabling the code now.
The code wil be entirely removed before 5.2 unless we find reasons
why this would be a bad idea.
Approach suggested by: imp
2003-09-11 19:27:24 +00:00
thomas
3b78f25cc9
(atapi_action, case XPT_PATH_INQ): Handle properly the case of
...
CAM_TARGET_WILDCARD (target_id_t is an unsigned integer type).
Fixes boot-time crash on Alpha.
Reviewed by: roberto
Approved by: re (murray)
MFC after: 1 week
2003-09-11 17:34:47 +00:00
sos
b8fc895447
Add support of the DIOCGSECTORSIZE & DIOCGMEDIASIZE ioctl's
...
so that newfs works on dvd-rw/dvd-ram again..
2003-09-11 15:59:16 +00:00
sos
335666e6d6
Try a bit harder to probe disks that doesn't quite set BUSY right.
2003-09-10 09:57:16 +00:00
sos
2ae98bd2ef
Add another ID for the SiI3112a SATA chip as used on the Adaptec 1210SA.
...
RAID support is still in the works, so for now just normal ATA ops.
Sponsored by: Matt Douhan(www.fruitsalad.org)
2003-09-08 13:55:05 +00:00
sos
fa2b1d6313
Limit the size of the rebuild requests to be within safety.
2003-09-08 13:36:26 +00:00
sos
a1e52d797a
#ifdef out the vague ATA disk detection code causing fake ATA disks
...
to be found on some systems.
Hopefully this doesn't loose any real ATA disks...
2003-09-08 08:36:46 +00:00
sos
d2bb76d946
Handle shared channels better.
...
Try to avoid the spurios interrupts better.
2003-09-08 08:32:25 +00:00
sos
f64155d27c
Update the PIO mode gathering code.
...
Reported by: bde
2003-09-08 08:30:43 +00:00
phk
2f3a7d1606
Forgotten in previous commit to atapi-cd.c: Add #ifndef BURN_BRIDGES
...
around cloning routines.
2003-09-05 11:08:55 +00:00
phk
c5dc1fb629
Put the device cloning functions for disk-drivers under #ifndef BURN_BRIDGES.
...
For the floppy driver, use fdcontrol to manipulate density selection.
For the CD drivers, the 'a' and 'c' suffix is without actual effect and
any applications insisting on it can be satisfied with a symlink:
ln -s /dev/cd0 /dev/cd0a
Ongoing discussion may result in these pieces of code being removed before
the 5-stable branch as opposed to after.
2003-09-05 10:40:16 +00:00
obrien
4d1e58a187
Support the nForce3 chip found on Opteron motherboards:
...
atapci0: <nVidia nForce3 UDMA133 controller>
Approved by: sos
2003-09-02 21:02:46 +00:00
sos
32d785167f
cosmetics
2003-09-02 15:53:01 +00:00
sos
4dd2d26a98
Adjust the max transfer size used.
2003-09-02 13:26:02 +00:00
sos
bd60079a79
Rearrange the probe code yet again.
2003-09-01 11:13:21 +00:00
sos
6fe35ffd35
Be more carefull on nulling the ATAPI magic for fake slave.
...
Skip polling devices that keeps returning 0xff early (ie no HW there).
2003-08-28 09:15:05 +00:00
sos
2901a39d0d
Make sure to call start when retrying.
2003-08-28 08:22:53 +00:00
thomas
967df3d947
Add missing braces. Fixes boot-time kernel panic with ATAng and ATAPI/CAM.
...
Reviewed by: roberto
2003-08-28 03:56:04 +00:00
sos
faade93c8f
Return the translated result code from ATA/ATAPI commands.
2003-08-27 15:27:56 +00:00
sos
3eeccddac7
Hopefully Fix problem with probing some ATAPI devices, while still
...
trying to avoid the "fake slave" problem.
2003-08-27 11:21:30 +00:00