summaryrefslogtreecommitdiffstats
path: root/sys/dev/aha
Commit message (Collapse)AuthorAgeFilesLines
* Invalid is spelled with the v *BEFORE* the a.imp1998-12-221-2/+2
|
* Don't calculate the residual twice.gibbs1998-12-221-7/+9
|
* o Convert length of hccb to integer from the array. Eivind Eklundimp1998-12-151-3/+8
| | | | | | | | | pointed this out, but I've not seen a manifestation of this. o Check against 0x00 as well as 0xff for geometry register, as some clone cards don't return 0xff. Vadim Mikhailov pointed this out in PR 8743 for his Dell SCSI Array controller working in AHA-1540 emulation mode. Note that this test is likely to go away in the future in favor of a better one Justin has recommended.
* Pull in fixes similar to those recently committed to the bt driver:gibbs1998-12-131-4/+9
| | | | | | | - For transactions of 0 length, us a non-residual checking CCB type. - Preserve command status if our interrupt handler completes a command while we are polling for completion in aha_cmd.
* Examine all occurrences of sprintf(), strcat(), and str[n]cpy()archie1998-12-041-11/+11
| | | | | | | | | | | | | | for possible buffer overflow problems. Replaced most sprintf()'s with snprintf(); for others cases, added terminating NUL bytes where appropriate, replaced constants like "16" with sizeof(), etc. These changes include several bug fixes, but most changes are for maintainability's sake. Any instance where it wasn't "immediately obvious" that a buffer overflow could not occur was made safer. Reviewed by: Bruce Evans <bde@zeta.org.au> Reviewed by: Matthew Dillon <dillon@apollo.backplane.com> Reviewed by: Mike Spengler <mks@networkcs.com>
* o Patch, slightly altered, from Graham Menhennitt for older aha 1542Bimp1998-11-251-6/+15
| | | | | | | | cards. My machine didn't tickle this problem, so I can't tell if it fixed anything or not. However, it didn't break my already working 1542-{B,C,CF,CP} probes. o Minor comment correction o Minor correction in printf
* Noop Commit - Change was in last revision.gibbs1998-11-101-1/+1
| | | | | | If the next available mailbox is not in the free state, print a warning and handle the condition as a temporary resource shortage. The condition should never happen, but we shouldn't panic since recovery is possible.
* Fix probes when a port address is specified.gibbs1998-11-101-25/+11
|
* Fix probes when a port address is specified.gibbs1998-11-102-199/+294
| | | | | | | | | | | | | Convert from BT'isms to AHA'isms Don't fail the probe if the illegal command bit is set in the status register. If the BusLogic MultiMaster probe preceeded us, it may well have determined that the card we are attaching to was not a true MultiMaster by sending us a command that fails on the 154X. Reset the adapter before doing the inquiry. This provides extra sanity and will also clear the illegal command status bit that my be left over from the MultiMaster probe.
* -Wunused cleanup.gibbs1998-10-151-5/+2
| | | | Submitted by: Poul-Henning Kamp <phk@freebsd.org>
* Reduce the number of ccbs to 16, per the aha documentation. Moveimp1998-10-151-3/+3
| | | | | | | | bogus comment to proper place. This should fix the hangs people are seeing under very heavy load, at least it does for me. Please let me know if you continue to have problems.
* Fix breakage introduced by last patch. bde has added CC_QUIET flag toimp1998-10-121-28/+4
| | | | | | | | hasseen_isadev so this will be less noisy when conflicts do exist. Also eliminate redundant warnings about conflicts. Requested by: bde Reviewed by: gibbs
* Fix conficts in probe:imp1998-10-101-1/+28
| | | | | | | | | | o For bt and aha only probe the one I/O range if a specific I/O is specified in the config file. o Don't even try to probe I/O ranges that have been seen already. o If we conflict with an IRQ or DRQ, then fail the probe. Requested by: bde, gibbs Approved by: jkh
* Hook up ahapoll so that dumps, synchronize cache commands or any othergibbs1998-10-091-1/+2
| | | | command that comes in through xpt_polled_action works correctly.
* GC unused stuff.imp1998-10-022-50/+12
|
* Misc cleanup and probe rework:imp1998-10-012-50/+38
| | | | | | | | | | | | | | | | o Use the board id command to find out what kind of board we're talking to. If we're talking to a board that is has an ID that is shared between boards supported by the aha driver and the bt driver, then use the bt's geometry register to weed out the bt cards. Otherwise assume that we support this card. o Remove bt esetup command sending to the card. It seems to wedge too many cards. o Revert to doing a soft reset after an invalid command. This change didn't fix anything, so I'm backing it out. The whole issue of card resetting needs to be revisisted at some point so that we can do it properly on all hardware. o GC unused stuff in some places.
* Perform a hard reset on cards when the command fails. This should helpimp1998-09-301-2/+2
| | | | | those people that have cards that become wedged when a bogus command is issued that are too wedged to have a soft reset help.
* Several minor cleanups, inspired by bug reports and the old driver:imp1998-09-291-10/+67
| | | | | | | | | | | | | | | | | | o Unlock mailbox interface if we have a new card. Before only newer cards (B or newer) that had the BIOS disabled would probe. Cards with the BIOS enabled would fail to probe in the mailbox initialization code. o Increase the number of ccbs and sg to 17 from 16 to support 64k I/O on a non page aligned boundary. Ideas for dynamic determination of this value welcomed, as more of these are better. o Took credit for this driver, even though I derived it from Justin's code. Made sure that Justin's copyright from bt.c was preserved, along with his name, since the error handling code is nearly identical. Add my own, identical copyright. Point people to aha_isa.c. Cards tested: 1542C and 1542CF. The B and CP might work now as well, but logistical problems precluded me from testing them this evening (if you have jumper settings for the B card, please send me private mail).
* Removed unused include of "ioconf.h" again. The CAM changes made ioconf.hbde1998-09-241-3/+1
| | | | empty but regressed to including it here.
* Use %p with (void *) casts to print pointers with printf.gibbs1998-09-171-6/+6
|
* Fix printf format bugs.gibbs1998-09-161-7/+10
|
* Adaptec 154X SCSI-Host Adapter driver for CAM.gibbs1998-09-153-0/+2455
Submitted by: Warner Losh <imp@village.org>
OpenPOWER on IntegriCloud