summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Put a comment, explaining why kbdmux(4) had to be fixed.emax2006-02-251-3/+12
| | | | | | | While I'm here fix a couple of whitespaces. Requested by: netchild MFC after: 1 day
* Fix hard lockup caused by kbdmux(4) when kbdmux(4), PS/2 keyboardemax2006-02-251-1/+1
| | | | | | | | | | | | | | | | | | (atkbd(4)) and PS/2 mouse (psm(4)) are used together. Turns out that atkbd(4) check_char() method may return "true" while read_char() method returns NOKEY. When this happens kbdmux(4) was simply stuck in the dead loop. Avoid dead loop in kbdmux(4) by breaking out of the loop if read_char() method returns NOKEY. It almost seems like a bug in atkkbd(4), atkbd_check_char() calls kbdc_data_ready(), and, the later will return "true" if there are pending data in either kbd or aux queue. However, because both aux and kbd are on the same controller, I'm not sure if this is a bug or feature. Tested by: markus MFC after: 1 day
* Add a missing ohci_waitintr() call that allows polled operation ofiedowse2006-02-251-0/+3
| | | | | | | | bulk transfers to have a chance of working. PR: usb/93720 Submitted by: Nate Nielsen MFC after: 1 week
* Fix ata_reinit so it does things in the right order to prevent panic's.sos2006-02-252-43/+33
| | | | Lock the channel so master/slave setups wont trash during reinit.
* Always print a newline char at the end of the line.scottl2006-02-251-1/+2
|
* Role a microrev of the MPI Library in preparation for target mode work.mjacob2006-02-2512-87/+471
| | | | | | Make my portions of the license clearer. Thank Chris Ellsworth for his support in getting a bunch of this done.
* consolidate calculation of capabilities iesam2006-02-251-47/+34
| | | | | Reviewed by: avatar MFC after: 2 weeks
* Add frequency-voltage tables for Intel 778, 758, 773, 753, and 733Jcperciva2006-02-251-0/+210
| | | | | | processors. Obtained from: Intel Datasheet 302189-008
* fix a race whereby a tx descriptor might get reused before the hardwaresam2006-02-242-18/+42
| | | | | | | | | | is finished with it; this may only occur when the tx queue is setup as dba-gated but since the fix is cheap apply it to all queues while here make the queue depth signed for use in assertions Reviewed by: apatti MFC after: 2 weeks
* Don't to forget to unlock the rwlock on trunk before destroying it.yar2006-02-241-2/+3
| | | | | | This should fix panic on "kldunload if_vlan" while vlanX are still there. Reviewed by: glebius
* Move the hard-coded ETHER_* options to where they belong --yar2006-02-241-7/+9
| | | | | | | | | | | | | inside !if defined(KERNBUILDDIR). Utilize the fact the module will support all frames by default -- it needs no ETHER_* options unless some frames need to be disabled. Fix the comment respectively. Don't forget to create fake opt_ef.h if no ETHER_* are set. MFC after: 3 days
* Trim unnecessary pointer alignment.ariff2006-02-241-1/+1
|
* Replace our local UART_SIGMASK_* with the global SER_MASK_*.marcel2006-02-245-10/+5
|
* When we probe a SAB82532, return BUS_PROBE_GENERIC. This allows puc(4)marcel2006-02-241-1/+3
| | | | | or scc(4) to grab the device by default. In fact, we probably shouldn't even claim the device at all...
* MFp4:marcel2006-02-247-52/+37
| | | | | Stop using our local UART_IPEND_* and instead use the global SER_INT_* as defined in <sys/serial.h>.
* MFp4:marcel2006-02-241-0/+21
| | | | | | | | o Add defines for the 5 interrupt sources typical for serial devices. These defines can be used for more finegrained interrupt handling between drivers that cooperatively handle multiple serial ports. o Add defines for the various bitmasks applicable when all information is passed between drivers as a single integral.
* MFp4:marcel2006-02-241-17/+17
| | | | style(9): <tab> after #define
* MFp4:marcel2006-02-242-2/+2
| | | | | | Return BUS_PROBE_LOW_PRIORITY for a successful probe. This is in preparation of the introduction of scc(4), which is going to handle SCCs in the near future.
* MFp4:marcel2006-02-241-3/+6
| | | | | Add CHAN_A & CHAN_B for channel register offsets. While here, fix a comment.
* Remove dev/uart/uart_if.m from the default MFILES (in kmod.mk) andmarcel2006-02-242-1/+5
| | | | instead define MFILES appropriately for the uart(4) module build.
* This patch fixes the problem where the current TCP code can not handleqingli2006-02-233-3/+4
| | | | | | | | | | simultaneous open. Both the bug and the patch were verified using the ANVL test suite. PR: kern/74935 Submitted by: qingli (before I became committer) Reviewed by: andre MFC after: 5 days
* Keep the parent device (in this case the channel) around in ata_request,sos2006-02-232-17/+27
| | | | | so we dont panic device removal or failure. Clean up ata_fail_requests to prevent the queue munging to fail.
* Remove some dead code.jhb2006-02-231-3/+1
| | | | | | | Coverity ID: 822 Found by: Coverity Prevent Reviewed by: ariff MFC after: 1 week
* Use the recently added msleep_spin() function to simplify thejhb2006-02-231-56/+41
| | | | | | callout_drain() logic. We no longer need a separate non-spin mutex to do sleep/wakeup with, instead we can now just use the one spin mutex to manage all the callout functionality.
* - Use callout_init_mtx() to initialize toffhandle callout using the fdc'sjhb2006-02-231-9/+5
| | | | | | | | | | | | | | | mutex. - Don't use callout_drain() to stop the toffhandle callout while holding the fdc mutex (this could deadlock) in functions called from softclock (callouts aren't allowed to do voluntary sleeps). Instead, use callout_stop(). Note that since we hold the associated mutex and are now using callout_init_mtx(), callout_stop() is just as effective as callout_drain(). (Though callout_drain() is still needed in detach to make sure softclock isn't contesting on our mutex before we destroy the mutex.) - Remove unused callout 'tohandle' from softc. MFC after: 1 week
* In ata_cmd_allocate() only call ata_pci_allocate once.sos2006-02-231-1/+0
| | | | found by: jhb@
* Check the return value of copyin() and return an error if it fails.jhb2006-02-231-2/+4
| | | | | | | Coverity ID: 839 Found by: Coverity Prevent MFC after: 1 week Reviewed by: ps, scottl
* Unhook myri10ge from build in preparation for renamegallatin2006-02-231-3/+0
|
* 1. Refine kern_sigtimedwait() to remove redundant code.davidxu2006-02-231-31/+43
| | | | | | | 2. Fix a bug, if thread got a SIGKILL signal, call sigexit() to kill its process. MFC after: 3 days
* Code cleanup, simply compare with curproc.davidxu2006-02-231-2/+1
|
* - Use vfs_ref/rel to protect a mountpoint from going away while VFS_STATFSjeff2006-02-232-20/+58
| | | | | | | is being called. Be sure to grab the ref before we unlock the vnode to prevent the mount from disappearing. Tested by: kris
* - Release the mount ref once the vnode has been recycled rather than oncejeff2006-02-231-3/+2
| | | | | | | | | the last reference is dropped. I forgot that vnodes can stick around for a very long time until processes discover that they are dead. This means that a vnode reference is not sufficient to keep the mount referenced and even more code will be required to ref mount points. Discovered by: kris
* Move comments to more accurate place.davidxu2006-02-231-4/+4
|
* Fix a sleep queue race for KSE thread.davidxu2006-02-233-53/+25
| | | | Reviewed by: jhb
* G/C unused variable.jhb2006-02-221-1/+0
|
* guard function decls with _KERNEL so user code can include this filesam2006-02-221-1/+2
| | | | MFC after: 1 week
* Fixup some comments. Mutexes's are locked, not entered for several yearsjhb2006-02-221-5/+5
| | | | now and msleep blocks threads rather than processes.
* Close some races between procfs/ptrace and exit(2):jhb2006-02-2211-115/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Reorder the events in exit(2) slightly so that we trigger the S_EXIT stop event earlier. After we have signalled that, we set P_WEXIT and then wait for any processes with a hold on the vmspace via PHOLD to release it. PHOLD now KASSERT()'s that P_WEXIT is clear when it is invoked, and PRELE now does a wakeup if P_WEXIT is set and p_lock drops to zero. - Change proc_rwmem() to require that the processing read from has its vmspace held via PHOLD by the caller and get rid of all the junk to screw around with the vmspace reference count as we no longer need it. - In ptrace() and pseudofs(), treat a process with P_WEXIT set as if it doesn't exist. - Only do one PHOLD in kern_ptrace() now, and do it earlier so it covers FIX_SSTEP() (since on alpha at least this can end up calling proc_rwmem() to clear an earlier single-step simualted via a breakpoint). We only do one to avoid races. Also, by making the EINVAL error for unknown requests be part of the default: case in the switch, the various switch cases can now just break out to return which removes a _lot_ of duplicated PRELE and proc unlocks, etc. Also, it fixes at least one bug where a LWP ptrace command could return EINVAL with the proc lock still held. - Changed the locking for ptrace_single_step(), ptrace_set_pc(), and ptrace_clear_single_step() to always be called with the proc lock held (it was a mixed bag previously). Alpha and arm have to drop the lock while the mess around with breakpoints, but other archs avoid extra lock release/acquires in ptrace(). I did have to fix a couple of other consumers in kern_kse and a few other places to hold the proc lock and PHOLD. Tested by: ps (1 mostly, but some bits of 2-4 as well) MFC after: 1 week
* - Use bus_setup_intr() and bus_teardown_intr() to register device driverjhb2006-02-2216-36/+29
| | | | | | | | | | interrupt handlers rather than BUS_SETUP_INTR() and BUS_TEARDOWN_INTR(). Uses of the BUS_*() versions in the implementation of foo_intr methods in bus drivers were not changed. Mostly this just means that some drivers might start printing diagnostic messages like [FAST] when appropriate as well as honoring mpsafenet=0. - Fix two more of the ppbus drivers' identify routines to function correctly in the mythical case of a machine with more than one ppbus.
* Change pfs_visible() to optionally return a pointer to the processjhb2006-02-221-50/+44
| | | | | | | | | | | | | associated with the passed in pfs_node. If it does return a pointer, it keeps the process locked. This allows a lot of places that were calling pfind() again right after pfs_visible() to not have to do that and avoids races since we don't drop the proc lock just to turn around and lock it again. This will become more important with future changes to fix races between procfs/ptrace and exit(2). Also, removed a duplicate pfs_visible() call in pfs_getextattr(). Reviewed by: des MFC after: 1 week
* Don't do a PHOLD() in kthread_create() w/o a matching PRELE() injhb2006-02-221-1/+0
| | | | | | | kthread_exit(). Rather than add the missing PRELE() I chose to just axe the PHOLD() since it was redundant with the P_SYSTEM flag. MFC after: 1 week
* Hold the proc lock while calling proc_sstep() since the function assertsjhb2006-02-221-2/+1
| | | | | | | it and remove a PRELE() that didn't have a matching PHOLD(). The calling code already has a PHOLD anyway. MFC after: 1 week
* Use bus_setup_intr() rather than invoking BUS_SETUP_INTR() directly so thatjhb2006-02-221-4/+2
| | | | puc still prints out [FAST] on Peter's box.
* Various style and comment fixes.jhb2006-02-221-8/+7
| | | | Submitted by: bde
* Add pathname and/or vnode argument auditing for the following system calls:wsalamon2006-02-222-100/+258
| | | | | | | | | | | | | | | | | | quotactl, statfs, fstatfs, fchdir, chdir, chroot, open, mknod, mkfifo, link, symlink, undelete, unlink, access, eaccess, stat, lstat, pathconf, readlink, chflags, lchflags, fchflags, chmod, lchmod, fchmod, chown, lchown, fchown, utimes, lutimes, futimes, truncate, ftruncate, fsync, rename, mkdir, rmdir, getdirentries, revoke, lgetfh, getfh, extattrctl, extattr_set_file, extattr_set_link, extattr_get_file, extattr_get_link, extattr_delete_file, extattr_delete_link, extattr_list_file, extattr_list_link. In many cases the pathname and vnode auditing is done within namei lookup instead of directly in the system call. Audit the remaining arguments to these system calls: fstatfs, fchdir, open, mknod, chflags, lchflags, fchflags, chmod, lchmod, fchmod, chown, lchown, fchown, futimes, ftruncate, fsync, mkdir, getdirentries.
* Back out 1.112,1.113. I don't have enough resources to fix breakagesglebius2006-02-221-1/+7
| | | | introduced by this change.
* Do not use bio structure after g_io_deliver(), it may not longer by valid.pjd2006-02-221-1/+1
| | | | | Found and fixed by: Vsevolod Lobko <seva@ip.net.ua> MFC after: 3 days
* - Revert r1.406 until a solution can be found that doesn't break nfs. Thejeff2006-02-222-56/+42
| | | | | | | | statfs handler in nfs will lock vnodes which may lead to deadlock or recursion. Found by: kris Pointy hat to: me
* - We must hold a reference to a vnode before calling vgone() otherwisejeff2006-02-221-0/+2
| | | | | | | it may not be removed from the freelist. MFC After: 1 week Found by: kris
* - We can not hold a vnode lock while we do a lookup. Search for and loadjeff2006-02-221-19/+25
| | | | | | | | | | | modules prior to looking up the directory which we will cover to avoid this problem in mount. - We must hold the coveredvp locked before we can busy the mountpoint to prevent a lock order reversal with the vfs_busy() in lookup which holds the directory lock prior to doing a vfs_busy(). The directory lock is required to safely clear the v_mountedhere field on the directory. MFC After: 1 week
OpenPOWER on IntegriCloud