Age | Commit message (Collapse) | Author |
|
|
|
found on the Gdium Liberty. These machines finally no longer complain about
a missing todclock.
|
|
|
|
printed by this driver in dmesg are more standard (and short); while
here, fix the capitalization of QLogic.
ok krw@
|
|
interrupt status register. Fixes a problem with spurious interrupts on
the fuloong.
ok miod@
|
|
|
|
vice-versa, and do a full reset of the chip when it happens.
This does not affect the AR9280 since a full reset is always
necessary when the channel changes.
Should fix dual-band AR5416 devices (problem reported by Rivo Nurges).
|
|
- call athn_set_multi on SIOCADDMULTI/SIOCDELMULTI
|
|
To prevent PCI read or write bursts, we issue a read to a non-contiguous
register before accessing a register. This problem does not show up on
the x86 architecture since the memory model makes it almost impossible
to generate PCI bursts without doing DMA.
This bug is "documented" in the Ralink Linux driver as:
"//Patch for ASIC turst read/write bug, needs to remove after metel fix"
This fix makes the RT2561S chip on the Gdium (loongson) work.
It fails to load the firmware without it.
Tested by miod@ of the Gdium (slightly different diff though)
|
|
|
|
no binary change.
|
|
|
|
|
|
check if we have a hardware RF switch and if we must patch the
DAC issue too.
|
|
requires the new firmware
|
|
add settings for 5GHz channels (rt3572 only)
|
|
|
|
|
|
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@
|
|
more to go. Should be a no-op.
|
|
Clues on how to fix it from miod. ok miod@, Sure deraadt@
|
|
intercept the ccb_done handling so polled commands set a flag that mpi_poll
tests on. when ccb_done sets the variable, the poll loop breaks and
mpi_poll runs the original ccb_done handler for the ccb completion.
this is a lot simpler than the previous implementation and removes a
mutex.
ok beck@
|
|
seagate/trm/aha1742 were the only drivers paranoid enough to check
ITSDONE on getting the xs to execute. And optimistic enough to think
simply restting the flag would be a good thing. Have them chill out
like everyone else, reducing ITSDONE noise some more.
|
|
in the drivers just before calling scsi_done().
ok dlg@ beck@
|
|
else cares so it's just noise. Drivers that actually look at ITSDONE
are unchanged.
ok marco@ (for his files) dlg@ beck@
|
|
ciss_cmd() call scsi_done() in the one case where ciss_done() was
not calling ciss_done() before erroring out, and not calling
scsi_done() after ciss_cmd() errors out.
Okan's box can now boot. And work fine afterwards.
Tested by okan@. ok dlg@ beck@
|
|
have been completed. the xs was used to figure out if we should return
COMPLETED or SUCCESFULLY_QUEUED. the return value doesnt mean anything
anymore, so just return COMPLETE.
|
|
this should solve problems like this:
WARNING: SPL NOT LOWERED ON SYSCALL 16384 8 EXIT dae4560 6
Stopped at Xsyscall+0x1eb: movl $0,%gs:0x3d4
ddb{3}>
|
|
void *. this lets us pass things other than scsi_xfers to ccb completion
handlers.
|
|
|
|
return COMPLETE and not CMD_COMPLETE in one case.
Tested by kettenis@ and myself on Blade1000's.
ok dlg@
|
|
with input from marco@
ok marco@ krw@
this was ok looooooooong time ago but lost in my mailbox
|
|
mpi_bio_get_pg0_raid. the sensor updates dont poll at all now.
|
|
requests sleep rather than poll for completion.
|
|
when it used the uninitialized cookie.
|
|
a ccb can now be done with mpi_wait. this switches the cfg page handlers
over from their own tsleep stuff to mpi_wait.
|
|
void *. this will let me stash things other than scsi xfers in the ccb for
ccb_done handlers to use.
|
|
|
|
rather than all the replies.
|
|
mpi only needs two mutexes, one for the list of free ccbs, and another to
protect the reply doorbell. the latter is necessary to allow polling for
command completion to work in smp systems.
tested on sas and fc hbas. this diff was written over 2 years ago now with
surprisingly few tweaks to handle changes that have occurred since then.
|
|
found by LLVM/Clang Static Analyzer.
ok claudio@ mglocker@
|
|
|
|
- ANSI
- KNF
- remove the use of register
from Brad
|
|
prevents calling xs->done() for internal commands that don't have an
xs associated with them. In turn, this prevents crashes when calling
ciss_sync(), e.g. when rebooting.
Reported on misc@ by Peter Huncar.
Prodded by kettenis@, halex@ and johan@. Fix tested by halex@.
|
|
just use nitems(). (this leaves NENTS() alone for now)
ok deraadt@ krw@
|
|
|
|
them being stub entries, by using macros YES() and NO() to select,
for each entry, whether a real one or a stub is generated. Found
by parfait and analyzed by oga.
ok deraadt@, oga@
|
|
since we will always match on a rate, we won't overflow, but in that
case, make it more obvious by if the first 11 rates don't match, we
assume the 12th.
should shut up parfait.
ok damien@ who came up with an identical diff.
|
|
Found by LLVM/Clang Static Analyzer.
ok dlg@ marco@
|
|
Found by LLVM/Clang Static Analyzer.
ok krw@ marco@
|