Alfred Perlstein
cc8317f2b0
Fix a deadlock in detach/shutdown.
...
The problem was that I was acquiring the driver sx lock and then waiting
for a taskqueue to drain, however the taskqueue itself would try to
acquire the lock as well leading to a deadlock.
To fix the problem roll my own exclusive lock that allows for lock
cancellation. This is a normal exclusive lock, however if someone
marks it as "dead" then all waiters who request an error return will
get back an error instead of continuing to wait for the lock.
In this particular case, the shutdown and detach functions kill the
lock while the async task thread tries to acquire the lock but will
abort if the lock returns an error.
The other option was to drop the driver lock mid-detach and mid-shutdown,
mid-detach was a ok, however mid-shutdown was not.
While I'm here, fix a bug in what appears to be the mii link status
word in the softc going out to lunch. Explicitly set the status
word to 1 after initializing the mii. This would result in an interface
that would never respond to "if_start" requests as the mii interface
would always look down.
2006-12-23 17:18:18 +00:00
..
2006-12-20 17:10:53 +00:00
2006-11-06 12:14:27 +00:00
2006-12-22 00:57:26 +00:00
2006-12-11 18:28:31 +00:00
2006-10-22 21:18:48 +00:00
2006-12-11 18:28:31 +00:00
2006-12-11 18:28:31 +00:00
2006-11-02 00:54:38 +00:00
2006-11-02 00:54:38 +00:00
2006-12-11 18:28:31 +00:00
2006-12-11 18:28:31 +00:00
2006-11-06 13:42:10 +00:00
2006-02-22 18:16:26 +00:00
2006-12-13 08:46:03 +00:00
2006-11-06 13:42:10 +00:00
2006-12-11 18:28:31 +00:00
2006-12-23 12:40:54 +00:00
2006-12-13 19:34:35 +00:00
2006-12-18 18:48:28 +00:00
2006-01-26 19:04:18 +00:00
2006-12-12 03:05:04 +00:00
2006-12-06 22:53:22 +00:00
2006-11-20 23:30:07 +00:00
2006-12-22 02:59:58 +00:00
2006-09-18 20:17:42 +00:00
2006-12-11 18:28:31 +00:00
2006-06-12 03:28:42 +00:00
2006-11-06 13:42:10 +00:00
2006-11-30 15:14:17 +00:00
2006-06-11 22:25:01 +00:00
2006-11-06 13:42:10 +00:00
2006-11-06 13:42:10 +00:00
2006-05-16 14:37:58 +00:00
2006-09-15 15:16:12 +00:00
2006-05-16 14:37:58 +00:00
2006-11-06 13:42:10 +00:00
2006-11-06 13:42:10 +00:00
2006-12-20 01:49:56 +00:00
2006-11-06 13:42:10 +00:00
2006-09-15 15:16:12 +00:00
2006-09-27 19:57:02 +00:00
2006-12-11 18:28:31 +00:00
2006-11-06 13:42:10 +00:00
2006-06-12 04:30:42 +00:00
2006-11-23 05:48:13 +00:00
2006-09-15 15:16:12 +00:00
2006-12-01 20:29:55 +00:00
2006-12-11 18:28:31 +00:00
2006-02-04 08:16:41 +00:00
2006-09-24 00:26:33 +00:00
2006-03-21 14:56:42 +00:00
2006-08-24 22:00:24 +00:00
2006-11-06 13:42:10 +00:00
2006-08-04 07:56:35 +00:00
2006-12-06 09:13:51 +00:00
2006-11-29 08:05:55 +00:00
2006-12-01 13:07:52 +00:00
2006-12-06 02:04:25 +00:00
2006-05-16 14:37:58 +00:00
2006-06-04 22:17:25 +00:00
2006-12-06 02:07:20 +00:00
2006-05-16 14:37:58 +00:00
2006-11-06 13:42:10 +00:00
2006-09-08 21:46:01 +00:00
2006-09-11 20:52:41 +00:00
2006-12-15 21:44:49 +00:00
2006-05-16 14:37:58 +00:00
2006-05-16 14:37:58 +00:00
2006-03-11 15:39:22 +00:00
2006-11-06 13:42:10 +00:00
2006-12-05 06:19:36 +00:00
2006-12-11 18:28:31 +00:00
2006-12-15 21:44:49 +00:00
2006-10-05 07:28:43 +00:00
2006-06-10 17:29:40 +00:00
2006-12-18 23:53:39 +00:00
2006-12-10 03:42:57 +00:00
2006-12-07 15:24:38 +00:00
2006-09-17 13:33:30 +00:00
2006-11-06 13:42:10 +00:00
2006-09-27 19:57:02 +00:00
2006-12-06 02:14:31 +00:00
2006-09-15 15:16:12 +00:00
2006-11-06 13:42:10 +00:00
2006-12-14 11:34:07 +00:00
2006-12-14 18:29:08 +00:00
2006-12-20 00:34:12 +00:00
2006-12-15 21:44:49 +00:00
2006-12-11 18:28:31 +00:00
2006-10-20 06:39:59 +00:00
2006-12-16 07:39:55 +00:00
2006-05-16 14:37:58 +00:00
2006-12-13 02:30:11 +00:00
2006-11-29 15:30:39 +00:00
2006-09-15 15:16:12 +00:00
2006-07-14 04:36:57 +00:00
2006-11-27 04:47:27 +00:00
2006-09-17 13:33:30 +00:00
2006-11-06 13:42:10 +00:00
2006-05-16 14:37:58 +00:00
2006-11-06 13:42:10 +00:00
2006-12-05 15:31:05 +00:00
2006-11-06 17:43:10 +00:00
2006-08-04 07:56:35 +00:00
2006-05-16 14:37:58 +00:00
2006-08-09 00:05:54 +00:00
2006-08-12 09:06:55 +00:00
2006-02-22 18:16:26 +00:00
2006-12-14 19:59:29 +00:00
2006-05-16 14:37:58 +00:00
2006-08-01 22:19:01 +00:00
2006-12-11 18:28:31 +00:00
2006-05-12 05:04:46 +00:00
2006-09-04 18:27:14 +00:00
2006-12-19 17:37:41 +00:00
2006-11-06 13:42:10 +00:00
2006-10-19 05:25:53 +00:00
2006-12-20 02:13:59 +00:00
2006-11-20 12:59:27 +00:00
2006-05-16 15:23:27 +00:00
2006-06-04 22:17:25 +00:00
2006-11-06 13:42:10 +00:00
2006-11-06 13:42:10 +00:00
2006-07-26 03:10:01 +00:00
2006-09-15 11:01:23 +00:00
2006-11-06 13:42:10 +00:00
2006-09-14 03:47:59 +00:00
2006-12-14 04:10:26 +00:00
2006-09-26 14:38:56 +00:00
2006-02-04 08:19:00 +00:00
2005-12-06 11:19:37 +00:00
2006-12-22 11:55:59 +00:00
2006-10-20 07:11:52 +00:00
2006-02-22 18:16:26 +00:00
2006-07-14 04:35:59 +00:00
2006-09-17 13:33:30 +00:00
2006-07-21 20:40:13 +00:00
2006-11-02 00:54:38 +00:00
2006-11-16 12:27:51 +00:00
2006-03-03 21:37:38 +00:00
2006-09-17 13:33:30 +00:00
2006-12-11 18:28:31 +00:00
2006-12-11 23:59:42 +00:00
2006-05-16 14:37:58 +00:00
2006-09-17 13:33:30 +00:00
2006-11-02 00:01:15 +00:00
2006-10-24 11:17:46 +00:00
2006-12-23 17:18:18 +00:00
2006-11-30 21:01:59 +00:00
2006-09-27 19:57:02 +00:00
2006-09-15 11:01:23 +00:00
2006-12-15 21:44:49 +00:00
2006-12-11 18:28:31 +00:00
2006-12-11 00:41:22 +00:00
2006-11-06 13:42:10 +00:00
2006-04-15 11:41:40 +00:00
2006-11-06 13:42:10 +00:00