| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
made empty. Found by new ctfconv(1) feature and validated by clang.
ok mpi@
|
|
|
|
| |
everybody gets to test!
|
|
|
|
| |
reading this code. No intentional functional change.
|
|
|
|
| |
after discussions with beck deraadt kettenis.
|
|
|
|
|
|
| |
not XS_NO_CCB.
discussed with krw@ who agrees
|
|
|
|
|
|
| |
is causing problems when trying to boot sparc64 from an isp(4).
Verified to fix the sparc64/isp(4) regression by krw@; ok deraadt@
|
|
|
|
|
|
|
|
| |
something. Doesn't matter right now because scsibus_attach_args only
has one field and it's mandatory, but I'm planning to move some more
fields from scsi_link to scsibus_attach_args+scsibus_softc.
ok dlg@
|
|
|
|
|
|
|
|
|
| |
scsi_link::scsibus hack to determine which channel the link is
associated with.
"looks sane" dlg@, but haven't found any testers yet; committing so
further SCSI refactorings can go in. dlg@ or I will back out or fix
if anything breaks.
|
|
|
|
|
|
|
|
| |
step in elminating 'struct scsi_device' entirely.
Spotted and initial diff from matthew@.
ok matthew@ dlg@ deraadt@ marco@ miod@
|
|
|
|
|
|
|
|
|
|
|
| |
error to the midlayer if something screws up.
scrub the code slightly while here.
this plus src/sys/scsi/scsi_base.c r1.174 seems to fix problems henning has
had with tape drives plugged into ahc.
tested by and ok henning@
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
void. Use XS_NO_CCB error in the scsi command (xs) to report the
NO_CCB condition. Eliminates all SUCCESSFULLY_QUEUED and COMPLETE
confusion and untangles the midlayer from the adapter a bit more.
Eyes and some fixes by miod@
There may be some compile issues on little used (i.e. I don't have
any) drivers but the change is mechanical and thus easy to remedy.
ok dlg@
|
|
|
|
|
|
|
|
|
|
|
| |
endlessly. Use the shiny new XS_NO_CCB instead to retry commands
that can't start. Neither dlg@ nor I can figure out why 4.6 and
earlier worked.
Problem noted, debugged with and fix tested by Jeff Ross and his
new external enclosure. Thanks!
ok dlg@
|
|
|
|
|
|
| |
in the drivers just before calling scsi_done().
ok dlg@ beck@
|
|
|
|
|
|
|
|
|
|
|
| |
TRY_AGAIN_LATER uses with equivalent NO_CCB. Eliminates confusion
between the two as was always intended. buf I/O's that can't be
started get pushed back onto the front of the queue and retried.
Others get sent back to originator as failures. No more epi-cycle
looping inside the SCSI midlayer hoping the problem goes away.
Various testers, no objection from miod@ as vs(4) was tested by
nick@.
|
|
|
|
|
|
| |
as additional argument. This will allow intermediate layers between
scsi devices such as sd and scsi host adapters to take appropriate
action if necessary.
|
|
|
|
|
|
| |
No functional changes.
ok krw@ miod@
|
| |
|
|
|
|
| |
"I'm all for it." marco@ "Yeah" deraadt@
|
|
|
|
| |
ok dlg@
|
|
|
|
| |
damned sure scsi_done is invoked at splbio. Noted by deraadt@.
|
| |
|
|
|
|
|
| |
it's declaration and only use inside #ifndef DEBUG too. Lets DEBUG
kernel compile again. Non-DEBUG kernel still compiles too.
|
|
|
|
|
|
|
| |
resolves to s = splbio() and ahc_unlock() which resolves to splx(s)
with splbio/splx calls.
ok marco@ dlg@
|
|
|
|
| |
ok miod@ marco@ deraadt@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ah[cd]_done() into XS_* values understood by the SCSI code before
returning xs to the tender mercies of the SCSI code.
So if we bail out without calling ah[cd]_done(), because the request
cdb length is excessive, don't use ah[cd]_set_transaction() to put
CAM_REQ_INVALID into xs->error, just jam in XS_DRIVER_STUFFUP as
ah[cd]_done() would have. If CAM_REQ_INVALID escapes it will be
interpreted as XS_SHORT_SENSE as far as I can tell.
This code path should never be trod so the net effect should be
minimal.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
based timeout handling. Use the simple timeout == bus reset model
instead. Also move verbose debug output inside #ifdef/#endif.
Fixes pulling out a raidctl disk causing a crash noted by kurt@.
Rebuilding the raid still problematic.
Reduces but does not eliminate crashes with 'smartctl -d scsi -a
/dev/rcd0c' seen by Sigfried H?versen.
Should only impact timeout handling. No change to normal processing.
Thanks to kurt@ and Sigfied for testing.
ok marco@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
scsi_done() can release the scsi_request xs and TRY_AGAIN_LATER will
refer to it and submit it for re-execution. This was being done only
if bus_dmamap_load() failed.
Ensure the controller resources are freed before returning
TRY_AGAIN_LATER, since new resources will be allocated when the
command is executed again.
Don't bother setting xs->error before returning TRY_AGAIN_LATER as the
code returned to sets xs->error to XS_BUSY.
ok marco@
|
|
|
|
|
|
|
|
|
| |
false until scsi bus b is initialized.
Set TWIN_CHNLB bit that is used elsewhere. Missed chunk from last code
sync.
Problem found and fixes tested on HP Proliant ML310 by Valov Oleg.
|
|
|
|
|
|
| |
scb may have been freed or made active. Only affects XS_RESET case.
More correctly mirrors FreeBSD code. Already done to aic79xx_openbsd.c
in r1.16.
|
|
|
|
| |
ok krw@
|
|
|
|
| |
ok marco@.
|
|
|
|
|
|
|
|
|
|
| |
come with the freebsd sources, rather than duplicating those names in
the ahd_ and ahc_ namespaces. Big reduction in delta to freebsd
sources, which reduces noise when updating the code.
No .o differences found on i386.
ok marco@.
|
| |
|
|
|
|
|
|
| |
Restore hppa functionality, add sgi functionality for ahc.
ok deraadt@, plus marco@, mickey@, pefo@ for various bits.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gibbs@freebsd.
Large commit messages detailing all changes can be read at revisions
1.97 and 1.100 of aic7xxx.c:
www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/aic7xxx/aic7xxx.c
Tested by marco, nate and pefo. Fixed broken system for nate.
ok marco@
|
|
|
|
|
|
|
|
| |
Let scsi_probedev() set the flags based on scsidebug_targets and
scsidebug_luns when a device scsi link is created.
Elminates indisciminate flood of debug info for ahc scsi buses and solves
mystery of why ahc devices produced info when other devices were silent.
|
|
|
|
|
|
|
|
|
| |
by dealing with various error conditions.
Testing by Marco Peereboom, Olivier Cherrier, Alex Holst, Daniel Lucq,
deraadt@, beck@ and others.
ok deraadt@.
|
| |
|
|
|
|
| |
ok miod@ tdeval@.
|
|
|
|
|
|
|
| |
block. Put irq on first ahc line after 'rev 0xYY', rather than a
separate line.
ok deraadt@.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
XS_RESET rather than XS_NOERROR. This prevents unfinished i/o's from
being treated as successfully completed ones.
Don't bother setting SCB_REQUEUE in scb->flags since the scb is
immediately thrown away.
Make setting TAG_ENB a little more correct by doing it somewhere both
the initial scb setup and subsequent tag resets have access to.
Fix a typo.
ok miod "I'm not an authoritative person on SCSI issues... though I'm
learning!" @.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Renauld of Network Storage Solutions, Inc. Many fixes, wider device
support. In particular, the notorious 'Target 0' problem seems to be
fixed.
Does *not* include any updates to isa or eisa code beyond what was
necessary to compile.
Known issues:
1) Tagged Queuing is probably not optimal.
2) PPR negotiation may not be fully functional.
3) No support yet for freezing devices or channels.
4) The mechanism for preventing 'A' and 'B' channel confusion during probe
can fail if scsibus > 254 found.
5) Requeuing I/O's not working. A workaround will be committed almost
immediately. At the moment timeouts, SCSI message rejects, aborting
SCB's and trying to freeze a device may cause incomplete i/o's to be
reported as complete.
6) Verbosity and probe messages need work.
7) Last disk on bus seems to go through an extra re-negotiation.
8) >16 devices on an adapter will trigger the usual problems of total
openings exceeding available SCB's under heavy load.
Tested by deraadt@, beck@, miod@, naddy@, drahn@, marc@ amoung
others.
ok deraadt@.
|
|
|
|
|
|
|
|
| |
Tom: I did not commit a couple of your changes.
i did not include some punctuation fixes (full stops, etc.)
mnemorable -> mnemonic: i decided memorable was probably better
instrunctions -> instruction: i kept the plural
|
| |
|
| |
|
|
|
|
| |
ok millert@ miod@ krw@
|
| |
|
| |
|
| |
|
| |
|