15146 Commits

Author SHA1 Message Date
glebius
09176c9eac u_intXX -> uintXX 2006-06-08 09:35:02 +00:00
glebius
a66d276517 Fix the last commit.
Submitted by:	jhb
Pointy hat to:	glebius
2006-06-08 08:15:21 +00:00
glebius
6edf9ce190 - style(9) cleanup.
- Fix comments and printf()s about allocating jumbo buffers.
2006-06-07 21:03:20 +00:00
sam
f03871f354 bandaid type coercion for ia64
Submitted by:	marcel
2006-06-07 20:37:14 +00:00
glebius
85fd6e8410 Add device IDs for Linksys PCMPC200 Cardbus card.
PR:		kern/75582
Submitted by:	Gary Palmer
2006-06-07 12:26:23 +00:00
yongari
5a9f20b064 Fix watchdog timeout errors seen on a few systems.
SK-NET GENESIS document says reading SK_ISSR should stop generating
further interrupts(Since we drop a driver lock before invoking
ifp->if_input handler we should disable interrupts in ISR in order
to protect integrity of softc from subsequent interrupts). But it
seems that there is possibility of loosing interrupts between
reading SK_ISSR and determining which interrupts are reported.
To cope with the situation we continuously read SK_ISSR register
until there are no interrupts. However, it seems that the above
work around doesn't fix all cases. To protect watchdog handler
from triggering false alarm add a work around code which try to
reclaim pending Tx descriptors before resetting hardware. This
should fix occasional watchdog timeout errors seen on this driver.

Reported by:	Frank Behrens <frank AT pinky dot sax dot de >
Tested by:	Frank Behrens <frank AT pinky dot sax dot de >
2006-06-07 09:05:20 +00:00
nyan
a723c39e7d Use the acpi_event_sleep_button_sleep() function instead of
the acpi_SetSleepState().

Submitted by:	njl
2006-06-06 15:20:06 +00:00
pjd
1be5d52a81 Handle errors in the same way it is done in safe(4). 2006-06-06 13:58:12 +00:00
pjd
95669b8564 Don't increase hst_obytes field twice - it is already done at the begining
of the function.
It was wrong anyway, because we also support uio's structures, not only
mbufs.
2006-06-06 13:32:26 +00:00
glebius
c4263f94b4 The procedure of raceless switching between polling mode and
taskqueued interrupt mode is going to be quite complex. Since
the polling mode is considered legacy feature for em(4) driver,
the decision is made to make polling and new interrupt handler
mutually exclusive, selected at compile time.

If kernel is compiled with DEVICE_POLLING, the fast taskqueued
interrupt handler code is disabled and the em_poll() and legacy
em_intr() functions are enabled. Otherwise, legacy functions
are disabled and only em_intr_fast() code is compiled.

Discussed with:		scottl
2006-06-06 08:03:49 +00:00
avatar
b930a2c578 Really fix the typo this time: it should be sc->sc_drvbpf to be verified,
not ic->ic_drvbpf.
2006-06-05 23:06:03 +00:00
avatar
a1ccc97be3 Fixing a typo in rev1.196. 2006-06-05 22:59:14 +00:00
mjacob
196848bce4 Do some source && comment cleanup.
Clean out the abortive start to homegrown, per-mpt,
Domain Validation. This should really be done at a
higher level.

Use the PIM_SEQSCAN flag for U320- this seems to correct
cases of being unable to consistently negotiate U320 in
the cases where I'd seen this before.

Between this and other recent checkins, this driver is
pretty close to being ready for MFC.

Reviewed by:	scottl, ken, scsi@
MFC after:	1 week
2006-06-05 22:25:49 +00:00
fjoe
952053eb1c Fix kernel panic in rt2661_tx_intr() if no frames has been sent.
Obtained from:	OpenBSD (sys/dev/ic/rt2661.c rev. 1.15)
2006-06-05 20:06:29 +00:00
brueffer
79afacb184 Add altq(4) support.
Reviewed by:	mlaier
Approved by:	rwatson (mentor)
MFC after:	2 weeks
2006-06-05 17:59:46 +00:00
sam
0a619128b1 move hal bus+tag externalization to the bus glue code where it belongs;
this is a noop on all current freebsd architectures

MFC after:	1 month
2006-06-05 17:51:20 +00:00
marius
37782e994e Revert the part of rev. 1.3 which changed the software style to be
set to ILACC rather than PCnet-PCI as VMware doesn't implement ILACC
compatibility, resulting in the VMware virtual machine to crash if
enabled. Add a comment regarding usage of ILACC vs. PCnet-PCI mode.

Reported and tested by:	gnn, wsalamon
2006-06-05 15:14:14 +00:00
iedowse
f9d8c0c7d6 Fix a number of cases where ugen would panic, especially when the
device went away while open or if you tried to change the config
number while devices were open. Based on the patch from the PR with
a number of changes as discussed with the submitter.

PR:		usb/97271
Submitted by:	Anish Mistry
2006-06-05 14:44:39 +00:00
nyan
842abc9ea7 Add Fn+F7 hotkey (suspend) support.
Tested by:	nork
2006-06-05 11:55:20 +00:00
pjd
36f6d629b7 Use newly added functions to simplify the code. 2006-06-04 22:17:25 +00:00
pjd
ab72bdd9e6 Use defines from cryptodev.h. 2006-06-04 15:00:52 +00:00
pjd
1dc756f405 - Remove HMAC_BLOCK_LEN, it serves no purpose.
- Use defines of used algorithm instead of HMAC_BLOCK_LEN.
2006-06-04 14:49:34 +00:00
iedowse
2e98c25f19 Add a sleep lock that protects access to sequences of blocking
axe_cmd() calls. Without this the device can get confused if multiple
threads attempt these operations concurrently. The problem was
easily reproducible by running "ifconfig axe0" in a loop because
eventually it would conflict with axe_tick_task().

A similar approach is probably required in all USB ethernet drivers.
2006-06-04 14:42:38 +00:00
pjd
e17ebb8120 Add support for the CRD_F_KEY_EXPLICIT flag for both encryption and
authentication operations.

Unfortunately I've no hardware, so I only compiled-tested it.
2006-06-04 14:14:35 +00:00
pjd
51d59a64a2 Add support for the CRD_F_KEY_EXPLICIT flag for both encryption and
authentication operations.
2006-06-04 14:13:17 +00:00
pjd
5d2b8cab82 Don't forget to destroy the sc_freeqlock mutex on detach. 2006-06-04 13:45:04 +00:00
njl
058d883877 Clean up many of the debugging messages and move them under bootverbose.
Move the code for printing timer statistics into a test function instead of
an ifdef (accessible via the debug.acpi.hpet_test tunable).  Also use defines
for register offsets instead of magic values.

Courtesy of:	slow flight to HK
2006-06-04 08:04:19 +00:00
imp
4cc73bae0e We don't have a ISA specific shutdown routine at this time, so remove
it.  We just moved it to be pci specific, so this was causing compile
problems (linking problems, so I didn't notice since I unwisely just
built the module).
2006-06-03 21:10:50 +00:00
imp
e914efa181 Since we turn off the interrupts, we don't need to disestablish
our ISR.
2006-06-03 21:05:36 +00:00
jhb
23299c192f - Switch on the full 32-bit device ID to avoid collisions between the
vendor-specific device ids across vendors.
- Include the revision in the dc_devs[] array instead of special casing
  the revid handling in dc_devtype().
- Use PCI bus accessors to read registers instead of pci_read_config()
  where possible.
- Use an 8-bit write to update the latency timer.
- Use PCIR_xxx constants and remove unused DC_xxx related to standard
  PCI config registers.

MFC after:	1 week
2006-06-03 20:41:55 +00:00
jhb
fae2502406 Use PCI bus accessors rather than reading config registers directly to
get the subvendor device id.
2006-06-03 20:37:56 +00:00
imp
8b0790bd13 Move shutdown, and pci specific methods into pccbb_pci.c. Many more
are needed still.
2006-06-03 19:16:45 +00:00
imp
0ed782821f The interrupt routine is pci specific. Move it into pccbb_pci.c. 2006-06-03 19:07:16 +00:00
imp
6fe4eb5fde Fix a couple printf's to be properly terminated.
Use a better name for the cbb thread.
2006-06-03 18:58:48 +00:00
imp
4c81cb92a3 Succeed for writing bus value... nobody that calls must care :-( 2006-06-03 18:57:28 +00:00
iedowse
5043515219 Allow zero-length read/write operations to get through to the
hardware. Also set both the read and write timeouts from the
USB_SET_TIMEOUT ioctl.
2006-06-03 10:37:42 +00:00
mjacob
903090f356 allow this to compile cleanly under RELENG_4 2006-06-03 07:19:44 +00:00
sam
c35d17efe0 add missed calls to bpf_peers_present 2006-06-02 23:14:40 +00:00
csjp
2c4f67981e Fix the following bpf(4) race condition which can result in a panic:
(1) bpf peer attaches to interface netif0
	(2) Packet is received by netif0
	(3) ifp->if_bpf pointer is checked and handed off to bpf
	(4) bpf peer detaches from netif0 resulting in ifp->if_bpf being
	    initialized to NULL.
	(5) ifp->if_bpf is dereferenced by bpf machinery
	(6) Kaboom

This race condition likely explains the various different kernel panics
reported around sending SIGINT to tcpdump or dhclient processes. But really
this race can result in kernel panics anywhere you have frequent bpf attach
and detach operations with high packet per second load.

Summary of changes:

- Remove the bpf interface's "driverp" member
- When we attach bpf interfaces, we now set the ifp->if_bpf member to the
  bpf interface structure. Once this is done, ifp->if_bpf should never be
  NULL. [1]
- Introduce bpf_peers_present function, an inline operation which will do
  a lockless read bpf peer list associated with the interface. It should
  be noted that the bpf code will pickup the bpf_interface lock before adding
  or removing bpf peers. This should serialize the access to the bpf descriptor
  list, removing the race.
- Expose the bpf_if structure in bpf.h so that the bpf_peers_present function
  can use it. This also removes the struct bpf_if; hack that was there.
- Adjust all consumers of the raw if_bpf structure to use bpf_peers_present

Now what happens is:

	(1) Packet is received by netif0
	(2) Check to see if bpf descriptor list is empty
	(3) Pickup the bpf interface lock
	(4) Hand packet off to process

From the attach/detach side:

	(1) Pickup the bpf interface lock
	(2) Add/remove from bpf descriptor list

Now that we are storing the bpf interface structure with the ifnet, there is
is no need to walk the bpf interface list to locate the correct bpf interface.
We now simply look up the interface, and initialize the pointer. This has a
nice side effect of changing a bpf interface attach operation from O(N) (where
N is the number of bpf interfaces), to O(1).

[1] From now on, we can no longer check ifp->if_bpf to tell us whether or
    not we have any bpf peers that might be interested in receiving packets.

In collaboration with:	sam@
MFC after:	1 month
2006-06-02 19:59:33 +00:00
mjacob
420f0a56b1 Make the code able to compile again in RELENG_4. 2006-06-02 19:23:12 +00:00
mjacob
d627ba2486 More checkpointing on the way toward really (finally)
fixing speed negotiation.

Also fix the mpt_execute_req function to actually
match mpt_execute_req_a64. This may explain why
i386 users were having more grief.
2006-06-02 18:50:39 +00:00
imp
df3742b87a Zero out the devices when they are deleted. We can access the pointer after
the bus detaches which can lead to core dumps.  This is quite rare.
2006-06-02 06:33:35 +00:00
mjacob
e0f17fb7e8 Fix missing update to reflect change in scsi_inquiry data structure. 2006-05-31 14:33:23 +00:00
mjacob
154c6ddb9a Pick reasonable alignment constraints so that we
don't ask too much of bus_dmamem_alloc/malloc.

Replace the device_printf calls in the memalloc
function mpt_prt.
2006-05-31 00:35:44 +00:00
imp
eea2675a24 Add a define for the Standard SD Host Controller Base Peripheral. 2006-05-30 21:36:12 +00:00
jkim
bac62c64f5 Move SiS 760 to where it belongs.
PR:		98094
Submitted by:	Mike M < mmcgus at yahoo dot com >
2006-05-30 18:41:26 +00:00
mjacob
6162d5a7d4 Don't set CAM_DEV_QFRZN when we get an ABORT_TASK. Just
by itself, this makes no sense.
2006-05-30 17:43:04 +00:00
phk
7ffc807aef Fix various typos and brainos in last commit.
Submmited by:	Andrew Turner <andrew@fubar.geek.nz>
2006-05-30 07:56:57 +00:00
ps
7d671abdfe Spin until a request structure is available in the ioctl path. 2006-05-30 06:42:02 +00:00
mjacob
ff05f5f32b Add acknowledgements to LSI-Logic for support 2006-05-29 20:34:28 +00:00