Age | Commit message (Collapse) | Author |
|
And for the archives:
* Peruse the handshake mechanism between driver and firmware from the Linux
driver which is maintained by LSI.
* Copy only the first 16 bytes of the mailbox (under heavy IO overwriting the
17th byte could cause the firmware to crash).
* Limit ULTRA HBAs (a.k.a. schwartz) to one single LD (Logical Drive) because
for some reason having more than 1 ccb causes the firmware to hang. Whenever
the driver limits the LDs it issues a warning in dmesg.
|
|
symptoms that were fixed are:
* Very slow throughput
* ccb timeout (i.e. ami0: timeout ccb 1)
* All IO to ami devices hangs
* Only 1 LD (Logical Drive) can be accessed at the same time
* System hangs/freezes when running IO to ami cards.
Issues it doesn't fix:
* Really old ULTRA-2 controllers still crash whenever more than 1 LD are
accessed at the same time therefore the driver limits the maximum LDs to 1.
Tested by several folks and ok beck@ mickey@
|
|
|
|
functional change.
|
|
loadfirmware() fails because the file is missing, we do not want to
try again when the first softclock -> fxp_stats_update -> fxp_init
happens later. calling namei in that context is really bad; tested by mcbride
|
|
ok mickey, deraadt
|
|
Initial work by Dmitry Bogdan <bogdan@eastonline.ru> with a help
from me and Theo.
ok deraadt@
|
|
things when older prism firmware gets wedged.
|
|
valid and don't call ahd_setup_data() after ahd_execute_scb() may have
freed the scb.
|
|
ok tdeval@.
|
|
manually reproducing bits in ahd_pci.c.
Just as in ahc, avoid allocating and freeing zero length bits of
memory for platform data.
Don't try to free all or part of ahd_softc, but correctly free
allocated memory for seep_config if necessary.
Add a final few fields to ahd_softc and scb in preparation for
updating/fixing timeout handling.
No functional changes.
|
|
|
|
|
|
From FreeBSD
|
|
|
|
|
|
functions, and ultra-conservative calculations, to avoid possible
overflow issues. Also consistant with values passed in scsi requests.
Whitespace and comment tweaks.
Update FreeBSD tags now that we are sync'd to the latest version.
From FreeBSD aic79xx.c r1.33, aic79xx.h r1.23, aic_osm_lib.h r1.4.
|
|
the driver to issue a bus reset more quickly than intended. We want to
wait if we find another SCB that could be the cause of this timeout,
not proceed to a bus reset.
This code is currently inside an #ifdef 0/#endif pair.
From FreeBSD aic79xx.c r1.32.
|
|
by a transaction performing a driver handled message sequence (an scb
with the MK_MESSAGE flag set). Full details on changes in FreeBSD
commit message.
From FreeBSD aic79xx.c r1.30, using microcode generated from just
committed new source.
Tested in August by marco@.
|
|
From FreeBSD aic79xx.h r1.20 and aic79xx.c r1.30.
|
|
From FreeBSD aic79xx_inline.h r1.16.
|
|
a chance to process all pending packets, otherwise the chip may overwrite
their mbuf clusters after we have freed them.
Eliminates a race that can cause random pool corruption when reconfiguring
an interface under heavy network load.
ok brad@ mcbride@ beck@ deraadt@ dlg@
|
|
Ignore CSR13, CSR14, CSR15 'Media Specific Data' registers
for 21143 based cards which use SIA mode.
This fixes 10mbit mode for ZNYX ZX346Q cards and other
21143 based cards.
rev 1.108
Only use a SIA/SYM media info block if no MII block is detected.
The submitter of PR 32118 told me that this patch also fixes autoselecting
for znyx 4 port cards (10baseT, 100baseTX did work already).
From FreeBSD
ok deraadt@
|
|
Fix if_timer logic to make sure that there is always a timeout
pending if there are packets queued for transmission.
From FreeBSD
ok deraadt@
|
|
|
|
millert@ mcbride@ jsg@
|
|
|
|
ok grange@
|
|
line and zero line functions. Fix a potential bug
(ahd_set_transaction_status was used where ahd_set_scsi_status was
intended) inside a currently #ifdef 0/#endif section of code.
No functional changes intended except for a bit of extra locking via
ahd_list_lock*.
ok marco@.
|
|
|
|
ok mcbride@
|
|
Fix vmware
|
|
|
|
variable shuffle. No functional change.
|
|
Do not call mii_pollstat() from within device tick routines; the status
information is updated by mii_tick().
dcphy.c rev 1.13
Work around an Intel 21143 chip bug.
Rev 1.56 of if_dc.c removed calls to mii_pollstat() from the dc_tick()
routine. dc_tick() is called regularly to detect link up and link down
status, especially when autonegotiating.
The expectation was that mii_tick() (which is still called from dc_tick())
would update status information automatically in all cases where it would
be sensible to do so.
Unfortunately, with authentic 21143 chips this is not the case, and
the driver never successfully autonegotiates. This is because (despite
what it says in the 21143 manual) the chip always claims that link is not
present while the autonegotiation enable bit is set. Autonegotation takes
place and succeeds, but the driver tests the link bits before it switches
off the autonegotiation enable bit, and success is not recognised.
The simplest solution is to call dcphy_status() more often for MII_TICK
calls by dropping out of the switch statement instead of exiting when
we are autonegotiating and link appears to not be present. When
autonegotiation succeeds, dcphy_status() will note the speed and fdx/hdx
state and turn off the autonegotiation enable bit. The next call to
dcphy_status() will notice that link is present, and the dc driver code
will be notified.
Macronix chips also use this code, but implement link detection as
described in the manual, and hence don't need this patch. However, tests
on a Macronix 98715AEC-C show that it does not adversely affect them.
From FreeBSD
ok deraadt@
|
|
the fallout from that. Ensure pcireg_t variables are being used with
pci_conf_read/write functions - found one uint16_t variable
(pcix_status) being used to store and restore (32 bit) pcireg_t
values.
Some KNF.
No functional changes.
|
|
|
|
travels. Simplify create_dmamem/free_dmamem api.
|
|
thanks to Joerg Sonnenberger and Nathan Binkert.
|
|
possible NULL mac in the keycache function.
|
|
number of bytes. reported by Pyun YongHyeon, patch from mickey@,
ok deraadt@
|
|
|
|
|
|
|
|
|
|
|
|
deraadt
no cookie for me...
|
|
change.
|
|
|
|
|