summaryrefslogtreecommitdiff
path: root/sys/dev
Commit message (Collapse)AuthorAgeFilesLines
* MFC ixgbe cummulative patch from stable/8Jack F Vogel2011-01-278-666/+366
| | | | | | | | | | | | | | | | | | | | 217712 Fix a couple of incorrect variable names in the sysctl code. 217713 - Panic on the 82598 adapter due to reading FCOE registers that don't exit - Make phy detection dynamic so adapters that support multiple types of media can be properly identified by the interface layer - Performance patch to the flow director (ixgbe_atr) code - Fix intermittent data corruption on the 82599 - Add missing support code for buffer size and descriptors when doing jumbo frames, also add 16K cluster support. - Release RX lock when calling stack, this removes LOR problems. 217795 Remove TX_UNLOCK from the error path in local_timer, there is no LOCK 217796 Add missing case for Direct Attach 82598 in the dynamic phy detection 217797 Performance: don't run flow control shared code if nothing has changed Approved by: re (bz) Notes: svn path=/releng/8.2/; revision=217917
* MFC r217511:Bernhard Schmidt2011-01-269-54/+0
| | | | | | | | | | | | Pull ieee80211_ratectl_node_init() calls from drivers into net80211. This fixes hostap mode for at least ral(4) and run(4), because there is no sufficient call into drivers which could be used initialize the node related ratectl variables. Approved by: re (bz) Notes: svn path=/releng/8.2/; revision=217887
* MFC stable/8 r217711Jack F Vogel2011-01-251-5/+10
| | | | | | | | | | | Fix for kern/152853, pullup in the wrong place in em_xmit causes UDP failure. Thanks to Petr Lampa for the patch. Approved by: re (bz) Notes: svn path=/releng/8.2/; revision=217865
* MFC stable/8 r217710Jack F Vogel2011-01-251-3/+11
| | | | | | | | | | | | - Pieces of the failure path in em_xmit got deleted along the way, correct this. - local_timer had a leftover TX_UNLOCK without matching LOCK in the error path, remove it. Approved by: re (bz) Notes: svn path=/releng/8.2/; revision=217860
* MFC r217727Andrew Thompson2011-01-251-1/+0
| | | | | | | | | | Revert the ndis part of r212122, windrv_stub.c already adds a MODULE_VERSION and this breaks loading miniport drivers from loader.conf Approved by: re (kib) Notes: svn path=/releng/8.2/; revision=217837
* MFC r217548:Pyun YongHyeon2011-01-241-91/+90
| | | | | | | | | | | | | | | | | | | | Rework RX filter programming by providing separate handler for DP8381[56] and SiS 900/7016 controllers. After r212119, sis(4) no longer reinitializes controller if ALLMULTI/PROMISC was changed. However, RX filter handling code assumed some bits of the RX filter is programmed by driver initialization. This caused ALLMULTI/PROMISC configuration is ignored under certain conditions. Fix that issue by reprogramming all bits of RX filter register. While I'm here follow recommended RX filter programming steps recommended by National DP8381[56] data sheet(RX filter should be is disabled before programming). Reported by: Paul Schenkeveld < freebsd () psconsult dot nl > Tested by: Paul Schenkeveld < freebsd () psconsult dot nl > Approved by: re (bz) Notes: svn path=/releng/8.2/; revision=217803
* MFC: r217415Marius Strobl2011-01-211-22/+29
| | | | | | | | | | | | | | | | | | | | | | | - Allow IFM_FLAG0 to be set indicating that auto-negotiation with manual configuration, which is used to work around issues with certain setups (see r161237) by default, should not be triggered as it may in turn cause harm in some edge cases. - Even after masking the media with IFM_GMASK the result may have bits besides the duplex ones set so just comparing it with IFM_FDX may lead to false negatives. - Announce PAUSE support also for manually selected 1000BASE-T, but for all manually selected media types only in full-duplex mode. Announce asymmetric PAUSE support only for manually selected 1000BASE-T. - Simplify setting the manual configuration bits to only once after we have figured them all out. This also means we no longer unnecessarily update the hardware along the road. - Remove a stale comment. Reviewed by: yongari (plus additional testing) Approved by: re (bz) Notes: svn path=/releng/8.2/; revision=217666
* MFC r217296:Pyun YongHyeon2011-01-201-2/+7
| | | | | | | | | | | | | | | | | | | | | | | For re(4) controllers that uses new jumbo frame scheme(RTL8168C/D/E), limit maximum RX buffer size to RE_RX_DESC_BUFLEN instead of blindly configuring it to 16KB. Due to lack of documentation, re(4) didn't allow jumbo frame on these controllers. However it seems controller is confused with jumbo frame such that it can DMA the received frame to wrong address instead of splitting it into multiple RX buffers. Of course, this caused panic. Since re(4) does not support jumbo frames on these controllers, make controller drop frame that is longer than RE_RX_DESC_BUFLEN sized frame. Fortunately RTL810x controllers, which do not support jumbo frame, have no such issues but this change also limited maximum RX buffer size allowed to RTL810x controllers. Allowing 16KB RX buffer for controllers that have no such capability is meaningless. Approved by: re (bz) Notes: svn path=/releng/8.2/; revision=217647
* MFC r217226:Pyun YongHyeon2011-01-101-1/+11
| | | | | | | | | | | | | | | | | | | Apply DMA address space restriction to controllers that have 4GB DMA boundary bug and runs with PCI-X mode. watchdog timeout was observed on BCM5704 which lives behind certain PCI-X bridge(e.g. AMD 8131 PCI-X bridge). It's still not clear whether the root cause came from that PCI-X bridge or not. The watchdog timeout indicates the issue is in TX path. If the bridge reorders TX mailbox write accesses it would generate all kinds of problems but I'm not sure. This should be revisited. Early MFC requested by re@ for inclusion in 8.2-RC2/7.4-RC2. Tested by: Michael L. Squires (mikes <> siralan dot org) Approved by: re (kensmith) Notes: svn path=/releng/8.2/; revision=217233
* MFS r217053: Fix the Xen console to not spew \0 bytes when there is noColin Percival2011-01-061-3/+4
| | | | | | | | | input available. Approved by: re (rwatson) Notes: svn path=/releng/8.2/; revision=217082
* MFC: r216940Jung-uk Kim2011-01-061-2/+2
| | | | | | | | | Fix parameters for wakeup(9) and tsleep(9). Approved by: re (kib) Notes: svn path=/releng/8.2/; revision=217059
* MFC r216824:Bernhard Schmidt2011-01-021-3/+15
| | | | | | | | | | | | | | The RX path is missing a few bus_dmamap_*() calls, this results in modification of memory which was already free'd and eventually in: wpi0: could not map mbuf (error 12) wpi0: wpi_rx_intr: bus_dmamap_load failed, error 12 and an usuable device. PR: kern/144898 Approved by: re (kib) Notes: svn path=/releng/8.2/; revision=216886
* MFC r216249Andrew Thompson2010-12-261-0/+4
| | | | | | | | | | | Re-add a status check which sneaked out during r214804. This change can fix some USB error messages showing up during bootup. Approved by: re (kib) Notes: svn path=/releng/8.2/; revision=216720
* MFC r216557:Bernhard Schmidt2010-12-261-0/+2
| | | | | | | | | | | | Fix panic while trying to use monitor mode. The iwn_cmd() calls issued by iwn_config() want to msleep() on the mutex. PR: kern/138427 Submitted by: Henry Hu <henry.hu.sh at gmail.com> Approved by: re (kib) Notes: svn path=/releng/8.2/; revision=216710
* Add 2 missing bus_dmamap_sync() calls. Those fix random 'scan timeout',Bernhard Schmidt2010-12-211-0/+6
| | | | | | | | | | | 'could not set power mode', 'device config failed' and other errors due reading invalid memory. Approved by: re (kib) Obtained from: OpenBSD Notes: svn path=/stable/8/; revision=216610
* Fix association on 5GHz channels. The device is initially configured usingBernhard Schmidt2010-12-211-0/+3
| | | | | | | | | | | a 2GHz channel with appropriate flags set to sc->config. Due to not zeroing sc->config for auth/assoc those flags are still set while trying to connect on a 5GHz channel. Approved by: re (kib) Notes: svn path=/stable/8/; revision=216609
* Fix a panic while disabling the RF kill button, caller of theBernhard Schmidt2010-12-211-2/+0
| | | | | | | | | | wpi_rfkill_resume() function will take care of the lock. PR: kern/14489 Approved by: re (kib) Notes: svn path=/stable/8/; revision=216608
* MFC Xen-related commits r215470, r215472, r215525, r215663, r215813, r215819,Colin Percival2010-12-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | r215844, r216041, r216241, r216280, r216382, and r216385. * Make blkfront not advertise a larger maximum I/O size than it can handle for unaligned data (r216241) * Correctly reserve CPU #0's DPCPU pages (r216041) * Make machdep.independent_wallclock do what it claims (r216382) * Don't round xen timecounter to the nearest tick (r215663), but decrease its frequency to avoid wrapping at ~4.3s (r216385) * Remove debugging code which caused a massing slowdown in fork-heavy workloads (r215813) * Add a missing page table flush before invalidating TLBs in pmap_qremove (r215819+215844) * In pmap_release, don't unpin pages which weren't pinned (r215525) and don't KASSERT page mappings which don't exist (r215470); but do pmap_qremove all the relevant pages (r215472) * Don't unmask an event channel until after we register the interrupt handler for it (r216280) Approved by: re (rwatson) Notes: svn path=/stable/8/; revision=216602
* Fix __retval vs. retval confusion: retval is meant to store the (userland)Joerg Wunsch2010-12-191-1/+9
| | | | | | | | | | | | | | | | | pointer where data is to be returned by ibask() (currently unimplemented), while __retval holds the value returned by the libgpib ibfoo() functions. The confusion resulted in the ibfoo() functions returning an uninitialized value except in situations where the GPIB activity has been terminated abnormally. Implement more of __ibsta: END and SRQI status bits (taken out of the uPD7210 IRQ status). Approved by: re (kib) Notes: svn path=/stable/8/; revision=216573
* MFC r216173Jack F Vogel2010-12-151-2/+0
| | | | | | | | | | | Remove the test for a minimum frame size from the IPV6 TX context descriptor setup, when using VLANs and HW TAGGING the length of an ICMP6 frame will fail this test and be discarded. Approved by: re Notes: svn path=/stable/8/; revision=216467
* MFC r216309:Alexander Motin2010-12-151-0/+4
| | | | | | | | | | | Add IDs of HighPoint RocketRAID 62x cards (Marvell 88SE9128 chips). PR: kern/152926 Submitted by: Mike Tancsa <mike@sentex.net> Approved by: re (kib) Notes: svn path=/stable/8/; revision=216452
* MFC r216172, r216176:Jack F Vogel2010-12-141-37/+32
| | | | | | | | | | | | Correct the RX discard and refresh_mbuf logic to match igb, the old discard code could cause panics due to a bad pointer, now simply have discard always free mbufs and depend on refresh. In the refresh code, make sure the mbuf and soft buf struct are properly reset. Approved by: re Notes: svn path=/stable/8/; revision=216440
* MFC r216237:Bernhard Schmidt2010-12-131-4/+3
| | | | | | | | | | | | | | | | | Fixes for monitor mode: - Do not call iwn_calib_reset() for monitor mode. We do not want to query information and do runtime calibration while in monitor mode. Poking the firmware with adjustments for calibration results in firmware asserts. This could happened on RUN -> RUN transition only. - Adjust blink rate for monitor mode. It's supposed to not freak out and turn off after a while. - While here, remove one useless assignment of calib.state, it gets overwritten later in the function. Approved by: re (kib) Notes: svn path=/stable/8/; revision=216412
* MFC r216238:Bernhard Schmidt2010-12-131-2/+19
| | | | | | | | | | | | | | | | | Fix scanning after loosing a connection. The firmware assumes that as long as an association ID is set any scan is supposed to be a background scan. This implies that the firmware will switch back to the associated channel after a certain threshold, though, we are not notified about that. We currently catch this case by a timer which will reset the firmware after a 'scan timeout', though, upper layers are not notified about that and will simply hang until manual intervention. Fix this by resetting the firmware's knowledge about any association on RUN -> ASSOC and !INIT -> SCAN transitions. Approved by: re (kib) Notes: svn path=/stable/8/; revision=216411
* MFC r216195:Bernhard Schmidt2010-12-122-9/+29
| | | | | | | | | | | | For 6000 series and newer devices the DC calibration results are no longer requested of the boot firmware. Instead of sending those results to the runtime firmware the firmware is told to do the DC calibration itself. Approved by: re (kib) Notes: svn path=/stable/8/; revision=216392
* Remove bogus logic in the TX path, when usingJack F Vogel2010-12-101-5/+1
| | | | | | | | | | | VLANs and HW_TAGGING in IPv6 the tag is not yet in the frame, and thus an ICMP6 packet fails this condition and does not get sent. Approved by: re Notes: svn path=/stable/8/; revision=216366
* MFC r216111:Pyun YongHyeon2010-12-071-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | If RX lockup workaround is enabled, fxp(4) will periodically reset the controller to workaround silicon bug of i82557. Each reset will re-establish link which in turn triggers MII status change callback. The callback will try to reconfigure controller if the controller is not i82557 to enable flow-control. This caused endless link UP/DOWN when the workaround was enabled on non-i82557 controller. To fix the issue, apply RX lockup workaround only for i82557. Previously it blindly checked undocumented EEPROM location such that it sometimes enabled the workaround for other controllers. At this time, only i82557 is known to have the silicon bug. This fixes a regression introduced in r215906 which enabled flow control support for all controllers except i82557. Reported by: Karl Denninger (karl <> denninger dot net) Tested by: Karl Denninger (karl <> denninger dot net) Approved by: re (kensmith) Notes: svn path=/stable/8/; revision=216264
* MFC 215820:John Baldwin2010-12-021-0/+2
| | | | | | | | | | | Add device IDs for two more ServerWorks Host-PCI bridges so that we can read their starting PCI bus number for older systems that do not support ACPI (or have a broken _BBN method). Approved by: re (kib) Notes: svn path=/stable/8/; revision=216123
* MFC 215686:Andrew Gallatin2010-11-291-1/+12
| | | | | | | | | | | | | | | | | | Fix a TSO checksum bug on mxge(4): The Myri10GE NIC will assume all TSO frames contain partial checksum, and will emit TSO segments with bad TCP checksums if a TSO frame contains a full checksum. The mxge driver takes care to make sure that TSO is disabled when checksum offload is disabled for this reason. However, modules that modify packet contents (like pf) may end up completing a checksum on a TSO frame, leading to the NIC emitting TSO segments with bad checksums. To workaround this, restore the partial checksum in the mxge driver when we're fed a TSO frame with a full checksum. Notes: svn path=/stable/8/; revision=216054
* This is an MFC of 208548Matt Jacob2010-11-291-1/+4
| | | | | | | Don't leak CCBs for every ABORT. Notes: svn path=/stable/8/; revision=216038
* This is an MFC of 208542,208543Matt Jacob2010-11-291-4/+8
| | | | | | | Treat PRLI the same as PLOGI and make a database entry for it (target mode). Notes: svn path=/stable/8/; revision=216037
* This is an MFC of 215951Matt Jacob2010-11-291-3/+0
| | | | | | | Partially revert 208119. We were overwriting tunable settings. Notes: svn path=/stable/8/; revision=216036
* MFC r214726,214852,215258,215734Andrew Thompson2010-11-292-18/+20
| | | | | | | Sync all u3g device ids from head. Notes: svn path=/stable/8/; revision=216035
* MFC r215328:Pyun YongHyeon2010-11-291-6/+19
| | | | | | | | | | Add flow control for 3C905B and newer controllers. Note, these controllers support RX pause only. Reviewed by: marius Notes: svn path=/stable/8/; revision=216033
* MFC r215329:Pyun YongHyeon2010-11-291-1/+1
| | | | | | | | | | | Add flow control for all re(4) controllers. re(4) controllers do not provide any MAC configuration interface for resolved flow control parameters. There is even no register that configures water mark which will control generation of pause frames. However enabling flow control surely enhanced performance a lot. Notes: svn path=/stable/8/; revision=216031
* MFC r215849:Pyun YongHyeon2010-11-291-3/+1
| | | | | | | Enable ethernet flow-control on all jme(4) controllers. Notes: svn path=/stable/8/; revision=216029
* MFC r215848:Pyun YongHyeon2010-11-291-28/+12
| | | | | | | | | | | Allocate 1 MSI/MSI-X vector. Originally jme(4) was designed to support multi-queue but the hardware limitation made it hard to implement supporting multi-queue. Allocating more than necessary vectors is resource waste and it can be added back when we implement multi-queue support. Notes: svn path=/stable/8/; revision=216027
* MFC r215847:Pyun YongHyeon2010-11-291-2/+2
| | | | | | | | | | | | | | Disable retrying RX descriptor loading. The counter is used to set number of retry to be performed whenever controller found RX descriptor was empty. RX empty interrupt is generated only when the retry counter is over. Experimentation shows retrying RX descriptor loading increased number of dropped frames under flow-control enabled environments so disable it and have controller generate RX empty interrupt as fast as it can. While I'm here fix RXCSR_DESC_RT_CNT macro. Notes: svn path=/stable/8/; revision=216025
* MFC r215850:Pyun YongHyeon2010-11-291-3/+1
| | | | | | | | Enable ethernet flow-control on all alc(4) controllers. This change should reduce a lot of dropped frames under high network load. Notes: svn path=/stable/8/; revision=216023
* MFC r215095,215104:Nick Hibma2010-11-283-30/+87
| | | | | | | | Add quirks for 3G MSC resets. Add a man page for the usb_quirks module. Notes: svn path=/stable/8/; revision=216018
* MFC: r215923Marius Strobl2010-11-282-0/+2
| | | | | | | | | Allow pause support advertisement to be turned off again. Submitted by: yongari (ip1000phy(4)) Notes: svn path=/stable/8/; revision=216006
* MFC: r215906Marius Strobl2010-11-283-35/+74
| | | | | | | | | | | | Fix and implement missing parts of flow control support. This also removes the dev.fxp.%d.noflow tunable as the same effect can now be achieved with ifconfig(8) by setting the flowcontrol media option as desired (besides the tunable never having a chance to actually enable flow control support so far). In joint forces with: yongari Notes: svn path=/stable/8/; revision=216002
* MFC: r215905Marius Strobl2010-11-281-1/+13
| | | | | | | | Ensure Bay flow control is disabled as we're going to use IEEE 802.3 annex 31B full duplex flow control instead. Notes: svn path=/stable/8/; revision=216000
* MFC r213931 (mav)Andrew Thompson2010-11-281-0/+1
| | | | | | | Allow umass to use bigger transactions for USB 3.0 devices. Notes: svn path=/stable/8/; revision=215987
* MFC r213872Andrew Thompson2010-11-281-0/+26
| | | | | | | | | Fix forwarding of Line Register Status changes to TTY layer. PR: usb/149675 Notes: svn path=/stable/8/; revision=215986
* MFC r213431Andrew Thompson2010-11-281-1/+5
| | | | | | | Correct IOCTL return code. Notes: svn path=/stable/8/; revision=215985
* MFC r213809Andrew Thompson2010-11-283-26/+127
| | | | | | | | | | | USB network (NCM driver): - correct the ethernet payload remainder which must be post-offseted by -14 bytes instead of 0 bytes. This is not very clearly defined in the NCM specification. Notes: svn path=/stable/8/; revision=215981
* MFC r213804,213879,213880,214800Andrew Thompson2010-11-285-2/+7
| | | | | | | Add new device IDs. Notes: svn path=/stable/8/; revision=215980
* MFC: r215911, r215913, r215914Jack F Vogel2010-11-2818-1351/+8323
| | | | Notes: svn path=/stable/8/; revision=215970
* MFC r215843:Brian Somers2010-11-271-2/+2
| | | | | | | Don't zero 'Info' after setting it up in the ASR_IOCTL_COMPAT case. Notes: svn path=/stable/8/; revision=215953