Nick Hibma [Fri, 24 Oct 2008 07:08:42 +0000 (07:08 +0000)]
- Bugfix: Only claim interface after having checked all endpoints. This
might make Qualcomm and Option cards (which have all endpoints in 1
interface) work.
- Change the USB buffer sizes to depend on the transfer speed. With UMTS
we use a buffer 384k / 1000 frames/sec * 50msecs =~ 15kB for example.
- Add a MODULE_VERSION statement
David Xu [Fri, 24 Oct 2008 01:09:24 +0000 (01:09 +0000)]
Don't rearm callout if the process is exiting, it may leak a callout
because callout_drain() only waits for running callout, but not disable
it if it is rearmed.
David Xu [Fri, 24 Oct 2008 01:03:31 +0000 (01:03 +0000)]
partly revert revision 184199, because TDF_NEEDSIGCHK is persitent
when thread is in kernel mode, it can cause dead loop, now unlock
process lock after acquired sleep queue lock and thread lock to
avoid the problem. This means TDF_NEEDSIGCHK and TDF_NEEDSUSPCHK must
be set with process lock and thread lock being hold at same time.
Fix a number of style issues in the MALLOC / FREE commit. I've tried to
be careful not to fix anything that was already broken; the NFSv4 code is
particularly bad in this respect.
Robert Noland [Thu, 23 Oct 2008 20:23:03 +0000 (20:23 +0000)]
Replace calls to minor() with dev2unit(). Ed already fixed this once,
but I inadvertently overwrote the change when I synced to git. Commit
the fix in both places, so this doesn't happen again.
Robert Noland [Thu, 23 Oct 2008 20:19:56 +0000 (20:19 +0000)]
This check is invalid and I disabled it once already. I accidentally
reintroduced it with the sync to git master. Commit the fix in both
places this time.
Andrew Gallatin [Thu, 23 Oct 2008 20:07:08 +0000 (20:07 +0000)]
Update to Myri10GE Firmware 1.4.36.
This update fixes a transmit bug in the multi-queue (MSI-X) firmware
which happens when RDMAs complete out of order, and provides
improved support for the new Myri10GE NIC models (10G-PCIE-8Bx)
Ed Schouten [Thu, 23 Oct 2008 19:11:44 +0000 (19:11 +0000)]
Fix detaching of uart(4) devices.
With our new TTY layer we use a two step device destruction procedure.
The TTY first gets abandoned by the device driver. When the TTY layer
notices all threads have left the TTY layer, it deallocates the TTY.
This means that the device unit number should not be reused before a
callback from the TTY layer to the device driver has been made. newbus
doesn't seem to support this concept (yet), so right now just add a
destructor with a big comment in it. It's not ideal, but at least it's
better than panicing.
David Xu [Thu, 23 Oct 2008 07:55:38 +0000 (07:55 +0000)]
Actually, for signal and thread suspension, extra process spin lock is
unnecessary, the normal process lock and thread lock are enough. The
spin lock is still needed for process and thread exiting to mimic
single sched_lock.
John Baldwin [Wed, 22 Oct 2008 21:55:48 +0000 (21:55 +0000)]
Split the copyout of *base at the end of getdirentries() out leaving the
rest in kern_getdirentries(). Use kern_getdirentries() to implement
freebsd32_getdirentries(). This fixes a bug where calls to getdirentries()
in 32-bit binaries would trash the 4 bytes after the 'long base' in
userland.
Nick Hibma [Wed, 22 Oct 2008 21:46:59 +0000 (21:46 +0000)]
The driver supports the Sony W810i phone (interface class driver).
Note: This entry is added as this is there was no mention of any phones
in the list. This entry might have people try the driver against their
device.
The Sony Ericsson phone provides an OBEX stack on further CDC
interfaces. Umodem wrongfully assumes that it is the driver for this
interface. This is due to a bogus implementation in the umodem driver
when searching for the data interface. This should be read from the CDC
descriptors. Also, more of this should happen in the probe instead of
attach.
Ken Smith [Wed, 22 Oct 2008 20:32:19 +0000 (20:32 +0000)]
Turns out its not a good idea to assume the packages that might be
selected from the "dists" are all on the current volume. Looks like
xorg won't fit on disc1 for 6.4-REL. Iterate through media volumes
for packages that wind up being selected from the dists section in
addition to the ones that get selected from the packages menu.
Remove doubtful structure definition with variable array members.
I believe this is not a valid C99 construct. Use directly calculated
offsets into the supplied buffer, using specified members length,
to fill appropriate structure.
Either use sysctl, or copy the value of the UNAME_x environment
variable, instead of unconditionally doing sysctl, and then
overriding a returned value with user-specified one.
Marcel Moolenaar [Wed, 22 Oct 2008 18:20:45 +0000 (18:20 +0000)]
Trivially avoid a null pointer dereference when drivers
don't set the rman description. While drivers should set
it, a kernel panic is not the right behaviour when faced
without one.
Marcel Moolenaar [Wed, 22 Oct 2008 02:08:54 +0000 (02:08 +0000)]
Allow dumps to partitions with a tag of 0. The legacy
sunlabel implementation in FreeBSD does not use VTOC
information and as such as no partition types.
John Baldwin [Tue, 21 Oct 2008 18:51:55 +0000 (18:51 +0000)]
Restore the default maximum segment size for the bus dma tag to 64k as it
is in 6.x and 7.x. The typo caused 64k transactions to be unnecessarily
split up into two PRD entries.
John Baldwin [Tue, 21 Oct 2008 18:30:10 +0000 (18:30 +0000)]
Several cleanups to remove the need for explicit unit numbers and a few
other fixes:
- Add pointers back to device_t objects in softc structures instead
of storing the unit and using devclass_get_device().
- Add 'lpbb', 'pcf', 'pps', and 'vpo' child devices to every 'ppbus' device
instead of just the first one.
- Store softc pointers in si_drv1 of character devices instead of
pulling the unit number from the minor number and using
devclass_get_softc() and devclass_get_device().
- Store the LP_BYPASS flag in si_drv2 instead of encoding it in the minor
number.
- Destroy character devices for lpt(4) when detaching the device.
- Use bus_print_child_footer() instead of duplicating it in
ppbus_print_child() and fix ppbus_print_child()'s return value.
- Remove unused AVM ivar from ppbus.
- Don't store the 'mode' ivar in the ppbus ivars since we always fetch it
from the parent anyway.
- Try to detach all the child devices before deleting them in
ppbus_detach().
- Use pause() instead of a tsleep() on a dummy address when polling the
ppbus.
- Use if_printf() and device_printf() instead of explicit names with unit
numbers.
Roman Divacky [Tue, 21 Oct 2008 16:46:50 +0000 (16:46 +0000)]
Remove __CC_INT_IS_32BIT define which was used to fix mpt driver
but is not used anymore. This define is not referenced by anything
in the FreeBSD srcs nor google shows any usage. Kernel and world
builds fine without it.
At some point, construct_utmp() was changed to use realhostname() to fill
in the struct utmp due to concerns about the length of the hostname buffer.
However, this breaks the UseDNS option. There is a simpler and better
solution: initialize utmp_len to the correct value (UT_HOSTSIZE instead of
MAXHOSTNAMELEN) and let get_remote_name_or_ip() worry about the size of the
buffer.
Tim Kientzle [Tue, 21 Oct 2008 05:08:35 +0000 (05:08 +0000)]
If we don't know the file size, leave the file size unset.
If it's not a regular file, don't return any data, even if the size is unknown.
Update the Zip test with a hand-tweaked Zip archive that has a
directory (with length-at-end set), a regular file without
length-at-end set, and a regular file with length-at-end set and a bad
CRC. Update the test code to verify that the file size is unset
for the regular file with length-at-end.
Jung-uk Kim [Tue, 21 Oct 2008 00:38:00 +0000 (00:38 +0000)]
Turn off CPU frequency change notifiers when the TSC is P-state invariant
or it is forced by setting 'kern.timecounter.invariant_tsc' tunable
to non-zero.
Attilio Rao [Mon, 20 Oct 2008 19:56:59 +0000 (19:56 +0000)]
Bump __FreeBSD_version in order to reflect prototipes changes for these
following functions:
- bufobj_invalbuf()
- bufsync()
- vinvalbuf()
- g_vfs_close
Attilio Rao [Mon, 20 Oct 2008 19:22:16 +0000 (19:22 +0000)]
In the actual code for witness_warn:
- If there aren't spinlocks held, but there are problems with old
sleeplocks, they are not reported.
- If the spinlock found is not the only one, problems are not reported.
Bjoern A. Zeeb [Mon, 20 Oct 2008 18:56:00 +0000 (18:56 +0000)]
Update a comment which to my reading had been misplaced in rev. 1.12
already (but probably had been way above as the code was there twice)
and describe what was last changed in rev. 1.199 there (which now is
in sync with in6_src.c r184096).
Bjoern A. Zeeb [Mon, 20 Oct 2008 18:43:59 +0000 (18:43 +0000)]
Bring over the change switching from using sequential to random
ephemeral port allocation as implemented in netinet/in_pcb.c rev. 1.143
(initially from OpenBSD) and follow-up commits during the last four and
a half years including rev. 1.157, 1.162 and 1.199.
This now is relying on the same infrastructure as has been implemented
in in_pcb.c since rev. 1.199.
Alexander Motin [Mon, 20 Oct 2008 18:37:10 +0000 (18:37 +0000)]
Make HDA PCM device boot and sndstat messages more alike to PCI device ones.
Move codec # out of the device name as it is a device address and not part of
device type name.
There is no point in releasing a lock on a file which we've unlinked and
are about to close, so don't. As a bonus, pidfile_remove(3) will now
work with an fcntl(2)-based flopen(3).
#ifdef out the lock-against-self test. I'm not sure it makes sense, and
it relies on non-portable flock(2) semantics. Not only is flock(2) not
portable, but on some OSes that do have it, it is implemented in terms
of fcntl(2) locks, which are per-process rather than per-descriptor.