Commit Graph

17872 Commits

Author SHA1 Message Date
bz
c2d5d6f6fe Hide AF_INET specific ioctl handling under #ifdef INET.
MFC after:	2 months
2008-11-06 11:00:57 +00:00
bz
0ed604b580 For now our LRO code (tcp_lro.c) only supports IPv4 properly thus
only enable if INET is on.

Reviewed by:	kmacy
MFC after:	2 months
2008-11-06 10:35:46 +00:00
bz
11a8a600e2 Hide AF_INET specific ioctl handling under #ifdef INET.
Reviewed by:	kmacy
MFC after:	2 months
2008-11-06 10:17:57 +00:00
bz
2109be6656 Hide an unused variable in case we compile with neither INET nor INET6.
NATM needs 'struct in_addr' to compile, which is a problem on its own
but include in.h for now if we have NATM but neither INET or INET6.

MFC after:	2 months
2008-11-06 09:41:31 +00:00
bz
e680478613 In case INET is not defined, then ANCACHE is not defined and
the sc does not have 'an_have_rssimap' variable.
Add an ANCACHE check to poperly hide the case and make an(4)
compile without INET.

MFC after:	2 months
2008-11-06 08:55:46 +00:00
ed
77fbb9695c Reintroduce the snp(4) driver.
Because the TTY hooks interface was not finished when I imported the
MPSAFE TTY layer, I had to disconnect the snp(4) driver. This snp(4)
implementation has been sitting in my P4 branch for some time now.
Unfortunately it still doesn't use the same error handling as snp(4)
(returning codes through FIONREAD), but it should already be usable.

I'm committing this to SVN, hoping someone else could polish off its
rough edges. It's always better than having a broken driver sitting in
the tree.
2008-11-05 15:04:03 +00:00
rink
4b489f9e49 Even though the previous commit was functionally equivalent with the code it replaced, it was wrong: le16toh should have been used.
Note that these changes will not make the driver work on powerpc, but it should fix at least the i386/amd64 cases.

Obtained from:	//depot/projects/usb/src/sys/dev/usb2/wlan/if_zyd2.c#20
Noticed by:	jeli, ed
2008-11-04 20:57:39 +00:00
rink
482c2c52e8 Fix the build (on at least powerpc) by moving the htole16() from the case(x) expression directly to the switch(x) itself.
Reviewed by:	imp@
2008-11-04 19:28:19 +00:00
jhb
6c6f8c89e8 Remove unnecessary locking around vn_fullpath(). The vnode lock for the
vnode in question does not need to be held.  All the data structures used
during the name lookup are protected by the global name cache lock.
Instead, the caller merely needs to ensure a reference is held on the
vnode (such as vhold()) to keep it from being freed.

In the case of procfs' <pid>/file entry, grab the process lock while we
gain a new reference (via vhold()) on p_textvp to fully close races with
execve(2).

For the kern.proc.vmmap sysctl handler, use a shared vnode lock around
the call to VOP_GETATTR() rather than an exclusive lock.

MFC after:	1 month
2008-11-04 19:04:01 +00:00
rpaulo
85b1030aa8 Add support for Asus A8Sr notebooks.
PR:		128553
Submitted by:	Eygene Ryabinkin <rea-fbsd at codelabs.ru>
Reviewed by:	philip
MFC after:	2 months
2008-11-04 11:52:50 +00:00
alfred
effcf5d59c Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.

This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:

1) A brief feature list:

  - A new and mutex enabled USB API.

  - Many USB drivers are now running Giant free.

  - Linux USB kernel compatibility layer.

  - New UGEN backend and libusb library, finally solves the "driver
    unloading" problem. The new BSD licensed libusb20 library is fully
    compatible with libusb-0.1.12 from sourceforge.

  - New "usbconfig" utility, for easy configuration of USB.

  - Full support for Split transactions, which means you can use your
    full speed USB audio device on a high speed USB HUB.

  - Full support for HS ISOC transactions, which makes writing drivers
    for various HS webcams possible, for example.

  - Full support for USB on embedded platforms, mostly cache flushing
    and buffer invalidating stuff.

  - Safer parsing of USB descriptors.

  - Autodetect of annoying USB install disks.

  - Support for USB device side mode, also called USB gadget mode,
    using the same API like the USB host side. In other words the new
    USB stack is symmetric with regard to host and device side.

  - Support for USB transfers like I/O vectors, means more throughput
    and less interrupts.

  - ... see the FreeBSD quarterly status reports under "USB project"

2) To enable the driver in the default kernel build:

2.a) Remove all existing USB device options from your kernel config
file.

2.b) Add the following USB device options to your kernel configuration
file:

# USB core support
device          usb2_core

# USB controller support
device		usb2_controller
device		usb2_controller_ehci
device		usb2_controller_ohci
device		usb2_controller_uhci

# USB mass storage support
device		usb2_storage
device		usb2_storage_mass

# USB ethernet support, requires miibus
device		usb2_ethernet
device		usb2_ethernet_aue
device		usb2_ethernet_axe
device		usb2_ethernet_cdce
device		usb2_ethernet_cue
device		usb2_ethernet_kue
device		usb2_ethernet_rue
device		usb2_ethernet_dav

# USB wireless LAN support
device		usb2_wlan
device		usb2_wlan_rum
device		usb2_wlan_ral
device		usb2_wlan_zyd

# USB serial device support
device		usb2_serial
device		usb2_serial_ark
device		usb2_serial_bsa
device		usb2_serial_bser
device		usb2_serial_chcom
device		usb2_serial_cycom
device		usb2_serial_foma
device		usb2_serial_ftdi
device		usb2_serial_gensa
device		usb2_serial_ipaq
device		usb2_serial_lpt
device		usb2_serial_mct
device		usb2_serial_modem
device		usb2_serial_moscom
device		usb2_serial_plcom
device		usb2_serial_visor
device		usb2_serial_vscom

# USB bluetooth support
device		usb2_bluetooth
device		usb2_bluetooth_ng

# USB input device support
device		usb2_input
device		usb2_input_hid
device		usb2_input_kbd
device		usb2_input_ms

# USB sound and MIDI device support
device		usb2_sound

2) To enable the driver at runtime:

2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.

2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.

Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
n_hibma
73d6987d2f Bugfix: Cut&paste error from the NetBSD code.
Also: Change the initialisation of the command string to a static
initialiser. Verify it against the output of umass.c when being sent a
command using 'camcontrol eject da0' to a Bulk-Only device.

This should make those devices work that need a SCSI eject command to
switch to modem mode (Novatel 950D and others).
2008-11-03 22:09:27 +00:00
n_hibma
93352848ac uaa->ifaces contains pointers so set its entry to NULL not 0. 2008-11-03 22:05:44 +00:00
mav
d69ede8261 Remove " + 1".
Thread ID can't be zero anyway while increment may give owerflow.
2008-11-03 18:28:12 +00:00
imp
cb4c4bdda2 Nit: Add a few leading zeros to make this match other mask constants
in this file.  Also to make sure that I got other ASI constants right.
2008-11-03 15:38:45 +00:00
imp
299b48cc38 Turns out this isn't even used at all... The bogon that I was tracing was
in code from my p4 tree, not -current.  Delete it here.
2008-11-03 06:37:59 +00:00
imp
2ee7e7c4e9 Use child (the card) in preference to cbdev (the bridge) when
allocating resources to read the CIS.  I'm not sure when this changed,
but it is totally wrong.  Also, add a minor improvement to the
debugging.

This should help everybody trying to run dumpcis on atheros wireless
card as well.

MFC after:	2 days
2008-11-03 06:06:22 +00:00
imp
ab0c44b3d8 We can't mask out the higher order bits and have the size come out
right...  Good thing the size was ignored...

Where this macro is used, there's no reason to do it anyway.  There
seems to have been some old-time confusion between the CIS pointer
definition, and the BAR definitions at the base of this bug.
2008-11-03 05:52:43 +00:00
scottl
6de3633d94 Move the CAM passthrough code into a true module so that it doesn't have to be
compiled into the main AMR driver.  It's code that is nice to have but not
required for normal operation, and it is reported to cause problems for some
people.
2008-11-03 00:53:54 +00:00
ed
8df5c9ee67 Make the touch pad on my PowerBook G4 12" a little more usable.
For an unknown reason the touch pad of my PowerBook generates button 5
events when you operate it. This causes the adb_mouse code to convert
them to button 2 events, which is not what we want.

Add a new flag, AMS_TOUCHPAD, which is used to distinguish the touch
pad. When set, don't convert button events of unknown buttons to the
last button.

There are still three problems left with respect to user input:

- The mouse button events are not properly processed when the touch pad
  isn't touched.

- The arrow keys on the keyboard don't work inside X11.

- The power button isn't handled by the kernel, similar to the ACPI
  power button on i386/amd64.

Approved by:	nwhitehorn
2008-11-02 19:08:10 +00:00
imp
e0025a35ca Make the no driver stuff an ifdef. 2008-11-02 17:35:15 +00:00
imp
fbd442bda5 Move mn over. One of the last stragglers in sys/pci. There's no
module built for this hardware, so no changes needed.
2008-11-02 17:04:54 +00:00
mav
ba374a2c72 As soon as we have several threads per process now, it is not correct to
use process ID as ACPI thread ID. Concurrent requests with equal thread
IDs broke ACPI mutexes operation causing unpredictable errors including
AE_AML_MUTEX_NOT_ACQUIRED that I have seen.

Use kernel thread ID instead of process ID for ACPI thread.
2008-11-02 12:50:16 +00:00
imp
9534b3469f Merge some minor deltas from p4 newcard tree:
(1) Belkin F5D7050_V4000 was also sold as 'Ativa 802.11g wireless card'
(document)
(2) Add HP Office Jet 4215
2008-11-02 03:00:36 +00:00
ed
ec4658731c Allow a read() on /dev/ams[0-9] to be interrupted.
Right now ams_read() uses cv_wait() to wait for new data to arrive on
the mouse device. This means that when you run `cat /dev/ams0', it
cannot be interrupted directly. After you press ^C, you first need to
move the mouse before cat will quit. Make this function use
cv_wait_sig(), which allows it to be interrupted directly.

Reviewed by:	nwhitehorn
2008-11-01 08:07:02 +00:00
mav
13ab69b4fe Add quirk to set GPIO2 to enable internal speaker on Dell Vostro 1400.
Tested by:	Sergio Veloso
2008-10-30 17:54:20 +00:00
sam
6094a6154c Fix checks for fast frames negotiation. ni_ath_flags holds the
capabilities reported by the ap.  These need to be cross-checked
against the local configuration in the vap.  Previously we were
only checking the ap capabilities which meant that if an ap reported
it was ff-capable but we were not setup to use them we'd try to do
ff aggregation and drop the frame.

There are a number of problems to be fixed here but applying this
fix immediately as the problem causes all traffic to stop (and has
not workaround).

Reported by:	Ashish Shukla
2008-10-30 16:22:04 +00:00
nwhitehorn
5c55d9c1df Fix some possible infinite loops in the ADB code, and remove some hacks
that were inserted in desperation during bring-up. In addition, move ADB bus
enumeration and child attachment to when interrupts are available.
2008-10-30 15:27:13 +00:00
n_hibma
9aa53c183c We need to print out the device info ourselves on FBSD 6.
Submitted by:	Thomas Nystrom
2008-10-30 08:32:18 +00:00
n_hibma
44ed6d0833 Bugfix: Check the error code for in progress as well, after starting the
transfer.

Some changes to improve the debugging experience.
2008-10-30 08:17:27 +00:00
n_hibma
01935a1863 Return USBD_NORMAL_COMPLETION instead of a hard coded 0. 2008-10-30 08:13:49 +00:00
mav
3c4dfce5ca Allow card reader bridge driver to report maximum supported transfer size.
sdhci supports up to 65535 blocks transfers, at91_mci - one block.

Enable multiblock operations disabled before to follow at91_mci driver
limitations.

Reviewed by:	imp@
2008-10-29 20:01:26 +00:00
bz
eeb08e6fce Comment out #define turning on debugging which went in with r184436 and
which is also in conf/NOTES and thus defined twice when building LINT.
2008-10-29 11:03:15 +00:00
n_hibma
fc1c74c1bb Add the device ID for the mass storage device that appears before the
modem appears to facilitate faster switching to modem mode.
2008-10-29 08:08:55 +00:00
bz
7bf985b7df Unbreak LINT from r184381 using the correct variable in debugging
DPRINTF for the device and remove dead code.
2008-10-28 09:45:07 +00:00
n_hibma
02d073e051 Grab Sierra and Novatel init functions from NetBSD version of the u3g
driver (rev 1.3), by Joerg Sonnenberger.

Note: This change is untested as I do not own the hardware. Let me know
if things work or do not work for you by sending me the output dmesg (and
usbctl -f /dev/usbX if possible). Thanks.
2008-10-27 22:44:22 +00:00
marius
f240fccf5e Do as the Linux tg3 driver does and enable MSI support also
for the BCM5714 revision A0 when in a multi-port configuration
and unconditionally for the remainder of the class of BCM575X
and beyond chips.
This was prodded by mav and is based on a suggestion and a
patch submitted by jhb.

Reviewed by:	jhb
MFC after:	2 months
2008-10-27 22:10:01 +00:00
rnoland
ae1f87d8c5 Fix error in busmaster enable logic
rs400/rs480 should clear the RADEON_BUS_MASTER_DIS bit.  This should get
the rs485 IGP chips going again.

Approved by:	jhb (mentor)
Obtained from:	drm git master
2008-10-27 21:24:34 +00:00
rnoland
fd02193a4e Fix some fallout from the busmaster disable cleanup
rs400 is just like rs480

Approved by:	jhb (mentor)
Obtained from:	drm git
2008-10-27 21:21:36 +00:00
rnoland
2f55411637 Don't report GEM capability until we actually have GEM support.
This was causing the newer Intel video drivers to fail and abort X.

Approved by:	jhb (mentor)
2008-10-27 21:16:07 +00:00
sam
9e6bb8a8ae prepare for a new hal 2008-10-27 18:30:33 +00:00
sam
3a67cd4520 o With the addition of HT rates the set of h/w codes has a much wider range
making the use of sc_hwmap to do direct mapping impractical.  Switch to
  indexing by the rate index instead of the rate code and adjust associated
  state and logic appropriately.  This has several benefits including
  simplification of the led code.
o fix radiotap capture of HT rates
o fix conditional compilation of HT radiotap support to be based on the
  hal having 5416 support; not the ABI version as hal builds may or may
  not include 5416 support
2008-10-27 18:22:44 +00:00
sam
2c926ba9a7 prefer #define to naked constant 2008-10-27 18:05:26 +00:00
sam
548a877565 fix handling of HT rates; these overlap legacy rates and need to be
marked as MCS in the inverse mapping table
2008-10-27 18:02:47 +00:00
sam
5134b586b9 add hack to deal with Ubiquiti XR9 cards, they have a different mapping
between 900MHz and 2.4GHz frequencies than SR9 cards; they are distinguished
by different country codes
2008-10-27 18:00:43 +00:00
sam
afcf4b4bc7 install bssid for ahdemo mode too 2008-10-27 17:54:17 +00:00
sam
e8916f6cef fix comment 2008-10-27 17:53:34 +00:00
sam
35802cb1a3 correct callback status parameter; only indicate success when an ACK was
received
2008-10-27 17:52:41 +00:00
sam
491b070eb4 Fixup statistics:
o update tx rssi data only when an ACK was received
o return tx rssi from sampled data instead of the last frame
o track noise floor
o return rx rssi and noise floor (was broken)
2008-10-27 17:51:24 +00:00
sam
5eddad231d update the sta inactivity timer only if we actually received an ACK 2008-10-27 17:43:23 +00:00