summaryrefslogtreecommitdiffstats
path: root/sys/dev
Commit message (Collapse)AuthorAgeFilesLines
* Fix basic rates set for 802.11a/g operating modes. This can significantlydamien2005-08-212-22/+47
| | | | | | improve transfer rates in 802.11a/g. Fix IFS settings in ral(4) too. MFC after: 6 days
* Enhanced WME (802.11e) support.damien2005-08-212-5/+65
|
* Add some necessary bits for upcoming 802.11e support:damien2005-08-203-64/+183
| | | | | | | | o management of multiple tx rings (up to 4) o setting of WME IE in association requests Some features are still missing though, like the possibility to override the default cwmin/cwmax/asfn values of each tx queues.
* Remove IEEE80211_C_WPA from capabilities flags. WPA support is not fullydamien2005-08-201-2/+1
| | | | | | implemented in ipw. MFC after: 1 week
* Export adapter's internal statistics sysctl even if IPW_DEBUG is not defined.damien2005-08-201-6/+0
| | | | MFC after: 1 week
* Export adapter's internal statistics sysctl even if IWI_DEBUG is not defined.damien2005-08-201-6/+0
| | | | MFC after: 1 week
* Don't automatically start scanning in if_init() if IEEE80211_ROAMING_MANUALdamien2005-08-203-12/+18
| | | | | | flag is set. MFC after: 1 week
* Fixup locking and mark MPSAFE:jhb2005-08-181-70/+77
| | | | | | | | | | | | | - Add locked versions of start and init. The SRM_MEDIA code in dc_init() stayed in dc_init() instead of moving to dc_init_locked() to make the locking saner. - Use callout_init_mtx(). - Fixup locking in detach and ioctl. - Lock the driver in the ifmedia callouts. - Don't recurse on the driver lock. - De-spl. MFC after: 3 days
* Fixup locking for sf(4) and mark MPSAFE:jhb2005-08-182-53/+83
| | | | | | | | | | | | - Add locked variants of start, init, and ifmedia_upd. - Use callout_* instead of timeout/untimeout. - Don't recurse on the driver lock. - Fixup locking in ioctl. - Lock the driver lock in the ifmedia handlers rather than across ifmedia_ioctl(). Tested by: brueffer MFC after: 3 days
* In re_shutdown() mark interface as down since otherwise we will panic ifsobomax2005-08-181-0/+7
| | | | | | | | | | | interrupt comes in later on, which can happen in some uncommon cases. Another possible fix is to call re_detach() instead of re_stop(), like ve(4) does, but I am not sure if the latter is really RTTD, so that stick with this one-liner for now. PR: kern/80005 Approved by: silence on -arch, no reply from selected network gurus
* Remove an unnecessicary bzero that was zeroing the softc's struct ifnetbrooks2005-08-171-1/+0
| | | | | | | pointer. Submitted by: brueffer Reviewed by: dfr
* - Use htole32() instead of using bswap32() conditional on #if BYTE_ORDER.jhb2005-08-171-19/+8
| | | | | | | - Don't set IFF_ALLMULTI in our ifnet's if_flags if we end up allowing all multicast due to limits in the MAC receive filters in hardware. Requested by: rwatson (2)
* Remove the unused TULIP_CSR_{READ,WRITE}BYTE macros.jhb2005-08-171-9/+0
|
* Add callout_drain()'s to foo_detach() after calling foo_stop() to make surejhb2005-08-172-0/+2
| | | | | | | | | that if softclock is running on another CPU and is blocked on our driver lock, we will wait until it has acquired the lock, seen that it was cancelled, dropped the lock, and awakened us so that we can safely destroy the mutex. MFC after: 3 days
* don't raise cpu speed over the value when passive cooling is inume2005-08-171-11/+24
| | | | | | | | effect. since CPU speed is restored by degrees, we cannot use the facility of saving cpu speed by CPUFREQ_set() effectively. so, we need to save the value when passive cooling is in effect. Repoeted by: Kevin Oberman <oberman__at__es.net>
* Add support for working around controllers that cannot do DMA in 48bit mode.sos2005-08-175-35/+97
| | | | | The workaround use PIO mode above ~137GB to allow using the disk. Add the Acer chips with rev < 0xc4 as first candidate.
* Use the bio field instead of the driver field as intended.sos2005-08-171-2/+2
|
* Catch up to ic_curchan changes by making the same change here that was madejhb2005-08-171-1/+1
| | | | | | | in ipw(4) in the earlier ic_curchan mega commit. Submitted by: Øyvind Kolbu oyvind at kolbu dot ws Tested by: Stefan Ehmann shoesoft at gmx dot net
* Ensure that file flags such as schg, sappnd (and others) are honoredcsjp2005-08-171-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | by md(4). Before this change, it was possible to by-pass these flags by creating memory disks which used a file as a backing store and writing to the device. This was discussed by the security team, and although this is problematic, it was decided that it was not critical as we never guarantee that root will be restricted. This change implements the following behavior changes: -If the user specifies the readonly flag, unset write operations before opening the file. If the FWRITE mask is unset, the device will be created with the MD_READONLY mask set. (readonly) -Add a check in g_md_access which checks to see if the MD_READONLY mask is set, if so return EROFS -Do not gracefully downgrade access modes without telling the user. Instead make the user specify their intentions for the device (assuming the file is read only). This seems like the more correct way to handle things. This is a RELENG_6 candidate. PR: kern/84635 Reviewed by: phk
* Fixup locking in if_my(4) and mark it MPSAFE:jhb2005-08-162-104/+96
| | | | | | | | | | | | | | | | - Add locked variants of my_start() and my_init(). - Assert that the lock is held in several places rather than recursing. - Overhaul failure case handling in my_attach() so that it will actually clean up completely in each of the failure cases. - Setup the interrupt after ether_ifattach() in my_attach(). - Remove unused callout handle from softc. - Free the metadata for the descriptors my_in detach() (we leaked it before). - Fix locking in my_ioctl(). - Remove spls. Tested by: brueffer MFC after: 3 days
* - Change the code that determines whether to use a serial console andmarius2005-08-151-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | which serial device to use in that case respectively to not rely on the OFW names of the input/output and stdin/stdout devices. Instead check whether input and output refers to the same device and is of type serial (uart(4) was already doing this) and for the fallback to a serial console in case a keyboard is the selected input device but unplugged do the same for stdin and stdout in case the input device is nonexistent (PS/2 and USB keyboards) or has a 'keyboard' property (RS232 keyboards). Additionally also check whether the OFW did a fallback to a serial console in the same way in case the output device is nonexistent. While at it save on some variables and for sys/boot/sparc64/loader/metadata.c move the code in question to a new function md_bootserial() so it can be kept in sync with uart_cpu_getdev_console() more easily. This fixes selecting a serial console and the appropriate device when using a device path for the 'input-device' and 'output-device' OFW environment variables instead of an alias for the serial device to use or when using a screen alias that additionally denotes a video mode (like e.g. 'screen:r1024x768x60') but no keyboard is plugged in (amongst others). It also makes the code select a serial console in case the OFW did the same due to a misconfiguration like both 'input-device' and 'output-device' set to 'keyboard' or to a nonexisting device (whether the OFW does a fallback to a serial console in case of a misconfiguration or one ends up with just no console at all highly depends on the OBP version however). - Reduce the size of buffers that only ever need to hold the string 'serial' accordingly. Double the size of buffers that may need to hold a device path as e.g. '/pci@8,700000/ebus@5/serial@1,400000:a' exceeds 32 chars. - Remove the package handle of the '/options' node from the argument list of uart_cpu_getdev_dbgport() as it's unused there and future use is also unlikely. MFC after: 1 week
* Some preliminary support for Megahertz XJEM and CCEM (same cards really)imp2005-08-151-28/+159
| | | | combo cards.
* Diff reduction to my tree: commit the trivial part of efforts to addimp2005-08-152-2/+8
| | | | support for the really old Megahertz ethernet/modem combo cards.
* * Solve "No PHY found" problem for more Yukon Lite variants.bz2005-08-131-25/+61
| | | | | | | * Catch a bus attach error. * Improve locking. MFC after: 6 days
* fix handling of the current channel (missed in previous commit)sam2005-08-131-4/+5
|
* fix media_status so devd recognizes the device as an 802.11 interfacesam2005-08-131-1/+6
| | | | Submitted by: Robert C. Noland III
* correct CTS duration calculation; SIFS+ACK should use the xmit rate notsam2005-08-121-2/+2
| | | | | | | the rate for CTS MFC after: 3 days Obtained from: Atheros
* Add support for the Promise PDC4071[89] chips used on fx the Fasttrak TX4300.sos2005-08-123-1/+7
| | | | Docs kindly provided by Promise.
* Modify the fix in rev 1.16 slightly. Instead of setting the cap to zero,njl2005-08-111-3/+2
| | | | | | just skip summing it if it's unknown. MFC after: 1 day
* Use device_printf() and if_printf() and remove dc_unit from softc.jhb2005-08-102-36/+31
|
* Use if_printf() and device_printf() and axe sf_unit from the softc as ajhb2005-08-102-21/+16
| | | | result.
* - Remove pre-new-bus code under #if 0 and some other rotted code underjhb2005-08-101-55/+2
| | | | | | | | | #if 0. - Use pci_enable_busmaster() to enable busmastering instead of frobbing the command register directly. - Don't check to see if memory or I/O can be enabled by writing to the command register. The PCI bus driver's bus_alloc_resource() method already checks this and will fail if it can't enable the bit.
* - Use if_printf() and device_printf() instead of outputting my%d:jhb2005-08-102-68/+47
| | | | | | | | everywhere. This means that my_unit is no longer used as well. The watchdog routine now also prints 'my0: ...' rather than 'm0x0: ...'. - Don't bzero the softc and don't try to free it in detach or if attach fails. - A whitespace fix.
* - Use callout_init_mtx() to close races between hme_stop() and hme_tick().jhb2005-08-101-57/+22
| | | | | | | | | | | - Use the driver lock instead of Giant in a bus dma callback. - Clear IFF_DRV_(RUNNING|OACTIVE) in hme_stop() instead of just clearing RUNNING in hme_ioctl() to be more like other ethernet drivers. - Lock the driver lock around mii operations. - Remove spls. - Cleanup locking in hme_ioctl(). MFC after: 1 week
* Clarify/fix handling of the current channel:sam2005-08-105-23/+23
| | | | | | | | | | | | | | | | | | | o add ic_curchan and use it uniformly for specifying the current channel instead of overloading ic->ic_bss->ni_chan (or in some drivers ic_ibss_chan) o add ieee80211_scanparams structure to encapsulate scanning-related state captured for rx frames o move rx beacon+probe response frame handling into separate routines o change beacon+probe response handling to treat the scan table more like a scan cache--look for an existing entry before adding a new one; this combined with ic_curchan use corrects handling of stations that were previously found at a different channel o move adhoc neighbor discovery by beacon+probe response frames to a new ieee80211_add_neighbor routine Reviewed by: avatar Tested by: avatar, Michal Mertl MFC after: 2 weeks
* Remove public declarations of variables that were forgotten when they wereobrien2005-08-103-5/+0
| | | | made static.
* Fix FBSDid style nit.obrien2005-08-101-1/+0
|
* Add proper copyright attribution.obrien2005-08-101-0/+1
|
* Call tulip_start() rather than tulip_ifstart() from the interrupt handlerjhb2005-08-091-1/+1
| | | | | | | to avoid recursing on the driver lock. Not sure why my test box didn't catch this earlier. MFC after: 3 days
* There's no reason to check the valence. This allows ciss to workps2005-08-092-8/+0
| | | | on the P600.
* Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE andrwatson2005-08-0986-760/+881
| | | | | | | | | | | | | | IFF_DRV_RUNNING, as well as the move from ifnet.if_flags to ifnet.if_drv_flags. Device drivers are now responsible for synchronizing access to these flags, as they are in if_drv_flags. This helps prevent races between the network stack and device driver in maintaining the interface flags field. Many __FreeBSD__ and __FreeBSD_version checks maintained and continued; some less so. Reviewed by: pjd, bz MFC after: 7 days
* - Use callout_init_mtx() to close a small race between callout_stop() andjhb2005-08-082-71/+25
| | | | | | | | | | | | | the timeout routine. - Fix locking in detach. - Add locking in shutdown. - Don't mess with the PCI command register in resume, the PCI bus driver already does this for us. - Add locking to the non-serial ifmedia routines. - Fix locking in ioctl. - Remove spls and support for 4.x. MFC after: 1 week
* Merge the dev_clone and dev_clone_cred event handlers into a singlerwatson2005-08-087-9/+16
| | | | | | | | | | | | | event handler, dev_clone, which accepts a credential argument. Implementors of the event can ignore it if they're not interested, and most do. This avoids having multiple event handler types and fall-back/precedence logic in devfs. This changes the kernel API for /dev cloning, and may affect third party packages containg cloning kernel modules. Requested by: phk MFC after: 3 days
* Add support for HP branded 2610SAps2005-08-081-0/+2
| | | | | MFC after: 3 days Approved by: scottl
* Split crypto tx+rx key indices and add a key index -> node mapping table:sam2005-08-082-81/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Crypto changes: o change driver/net80211 key_alloc api to return tx+rx key indices; a driver can leave the rx key index set to IEEE80211_KEYIX_NONE or set it to be the same as the tx key index (the former disables use of the key index in building the keyix->node mapping table and is the default setup for naive drivers by null_key_alloc) o add cs_max_keyid to crypto state to specify the max h/w key index a driver will return; this is used to allocate the key index mapping table and to bounds check table loookups o while here introduce ieee80211_keyix (finally) for the type of a h/w key index o change crypto notifiers for rx failures to pass the rx key index up as appropriate (michael failure, replay, etc.) Node table changes: o optionally allocate a h/w key index to node mapping table for the station table using the max key index setting supplied by drivers (note the scan table does not get a map) o defer node table allocation to lateattach so the driver has a chance to set the max key id to size the key index map o while here also defer the aid bitmap allocation o add new ieee80211_find_rxnode_withkey api to find a sta/node entry on frame receive with an optional h/w key index to use in checking mapping table; also updates the map if it does a hash lookup and the found node has a rx key index set in the unicast key; note this work is separated from the old ieee80211_find_rxnode call so drivers do not need to be aware of the new mechanism o move some node table manipulation under the node table lock to close a race on node delete o add ieee80211_node_delucastkey to do the dirty work of deleting unicast key state for a node (deletes any key and handles key map references) Ath driver: o nuke private sc_keyixmap mechansim in favor of net80211 support o update key alloc api These changes close several race conditions for the ath driver operating in ap mode. Other drivers should see no change. Station mode operation for ath no longer uses the key index map but performance tests show no noticeable change and this will be fixed when the scan table is eliminated with the new scanning support. Tested by: Michal Mertl, avatar, others Reviewed by: avatar, others MFC after: 2 weeks
* Retire the last of the FreeBSD 4.x compat code from the mly driver.scottl2005-08-082-15/+1
|
* Retire the FreeBSD 4.x compat code and __FreeBSD_version checks from the aacscottl2005-08-082-65/+0
| | | | driver.
* Complete the removal of __FreeBSD_version checks from the amr driver. Thescottl2005-08-085-114/+6
| | | | | driver had advanced enough over the years that direct sharing of code with FreeBSD 4.x was in no way possible anymore.
* Cleanup beacon/listen interval handling:sam2005-08-083-3/+3
| | | | | | | | | | | | | | | | | o separate configured beacon interval from listen interval; this avoids potential use of one value for the other (e.g. setting powersavesleep to 0 clobbers the beacon interval used in hostap or ibss mode) o bounds check the beacon interval received in probe response and beacon frames and drop frames with bogus settings; not clear if we should instead clamp the value as any alteration would result in mismatched sta+ap configuration and probably be more confusing (don't want to log to the console but perhaps ok with rate limiting) o while here up max beacon interval to reflect WiFi standard Noticed by: Martin <nakal@nurfuerspam.de> MFC after: 1 week
* Remove a stale __FreeBSD_version check.scottl2005-08-071-5/+3
|
OpenPOWER on IntegriCloud