summaryrefslogtreecommitdiffstats
path: root/sys/dev/sis
Commit message (Collapse)AuthorAgeFilesLines
* Receving VLAN oversized frames raise SIS_ISR_RX_ERR interrupt, soyongari2009-02-131-2/+3
| | | | | | | make sis_rxeof() handle that too. Previously it used to receive the frame and reset controller. PR: kern/131414
* Fix shutdown prototypes.imp2009-02-101-1/+2
|
* Fix a long standing VLAN tagged frame handling bug.yongari2008-12-092-1/+10
| | | | | | | | | | | | | | | | | | When VLAN tagged frame is received the hardware sets 'LONG' bit of Rx status word. It is always set when the size of received frame exceeded 1518 bytes, including CRC. This VLAN tagged frame clears 'OK' bit of Rx status word such that driver should not rely on 'OK' bit of Rx status word to pass the VLAN tagged frame to upper stack. To fix the bug, don't use SIS_CMDSTS_PKT_OK for Rx error check and introduce SIS_RXSTAT_ERROR macro that checks Rx errors. If we are configured to accept VLAN tagged frames and the received frame size is less than or equal to maximum allowed length of VLAN tagged frame, clear 'LONG' bit of Rx status word before checking Rx errors. Reported by: Vladimir Ermako < samflanker <> gmail DOT com > Tested by: Vladimir Ermako < samflanker <> gmail DOT com >
* There actually were bugs in the original handling that I missed lastimp2008-08-231-3/+4
| | | | | | | | | | night. Free the children after each pci bus that is searched. Otherwise we leak them. With free in the new place, we also have to free children before going to done when we find the device we're looking for. Also, if we can't get the children of a device, just ignore that bus.
* Actually revert last... Upon closer inspection the code works in theimp2008-08-231-2/+1
| | | | face of errors already... A bit unorthodox, but none-the-less valid.
* Handle errors in device_get_children gracefully.imp2008-08-231-1/+2
|
* Move sis to sys/dev/sis for consistency.imp2008-08-102-0/+2802
OpenPOWER on IntegriCloud