Alan Stern
25705e3a3e
Block: use a freezable workqueue for disk-event polling
...
commit 62d3c5439c upstream.
This patch (as1519) fixes a bug in the block layer's disk-events
polling. The polling is done by a work routine queued on the
system_nrt_wq workqueue. Since that workqueue isn't freezable, the
polling continues even in the middle of a system sleep transition.
Obviously, polling a suspended drive for media changes and such isn't
a good thing to do; in the case of USB mass-storage devices it can
lead to real problems requiring device resets and even re-enumeration.
The patch fixes things by creating a new system-wide, non-reentrant,
freezable workqueue and using it for disk-events polling.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu >
Acked-by: Tejun Heo <tj@kernel.org >
Acked-by: Rafael J. Wysocki <rjw@sisk.pl >
Signed-off-by: Jens Axboe <axboe@kernel.dk >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2012-03-19 08:57:59 -07:00
..
2011-03-31 11:26:23 -03:00
2011-08-04 21:58:35 -07:00
2011-06-15 20:04:01 -07:00
2012-03-12 10:32:53 -07:00
2011-11-11 09:37:17 -08:00
2012-01-03 10:42:00 -08:00
2012-02-03 09:18:54 -08:00
2011-03-31 11:26:23 -03:00
2011-03-14 09:15:23 -04:00
2011-03-03 10:55:40 -08:00
2010-10-30 01:42:19 -04:00
2011-03-03 10:55:40 -08:00
2011-04-27 15:11:03 +02:00
2011-03-23 19:46:28 -07:00
2011-05-19 18:51:57 +10:00
2011-12-09 08:52:27 -08:00
2012-01-12 11:35:08 -08:00
2011-05-25 15:35:32 -07:00
2010-10-15 15:53:27 +02:00
2012-01-12 11:35:46 -08:00
2011-05-28 17:02:57 +02:00
2011-03-23 19:47:19 -07:00
2011-05-27 10:25:02 -07:00
2012-01-06 14:14:14 -08:00
2011-05-20 08:56:56 +02:00
2012-02-29 16:34:34 -08:00
2011-05-17 23:19:17 +02:00
2011-03-23 19:47:08 -07:00
2012-01-06 14:13:58 -08:00
2011-03-23 19:47:08 -07:00
2011-12-09 08:52:28 -08:00
2012-01-06 14:14:13 -08:00
2010-12-18 15:54:48 +01:00
2011-12-09 08:52:50 -08:00
2011-03-25 17:52:22 -07:00
2011-04-10 17:01:05 +02:00
2011-05-11 21:37:15 +02:00
2011-11-11 09:35:48 -08:00
2012-03-12 10:32:57 -07:00
2011-04-19 16:45:51 -07:00
2011-05-28 17:02:57 +02:00
2011-03-31 11:26:23 -03:00
2011-03-23 13:54:47 +01:00
2011-06-07 12:25:50 +02:00
2011-05-26 17:12:34 -07:00
2011-05-23 12:49:28 -07:00
2011-04-14 08:52:33 +02:00
2011-04-14 08:52:33 +02:00
2011-05-25 08:39:17 -07:00
2011-04-14 08:52:33 +02:00
2011-05-26 17:12:34 -07:00
2011-03-31 11:26:23 -03:00
2012-02-13 11:06:10 -08:00
2011-05-19 16:55:28 +09:30
2011-03-23 19:46:58 -07:00
2011-04-18 10:35:30 -07:00
2011-05-29 11:18:09 -07:00
2011-10-25 07:10:14 +02:00
2011-05-24 12:10:51 +02:00
2012-02-03 09:18:57 -08:00
2011-05-26 17:12:37 -07:00
2011-05-25 19:20:21 +02:00
2010-11-12 07:55:31 -08:00
2011-05-05 23:16:57 -07:00
2011-05-05 23:16:58 -07:00
2011-05-20 12:50:29 -07:00
2011-05-05 23:16:57 -07:00
2011-07-20 10:50:12 -07:00
2011-06-15 23:07:21 -07:00
2011-07-13 08:17:56 -07:00
2011-06-16 16:12:05 -07:00
2012-02-20 12:48:10 -08:00
2011-03-23 19:46:22 -07:00
2011-07-06 10:54:08 -07:00
2011-01-27 21:13:51 -05:00
2011-01-27 21:13:51 -05:00
2011-02-22 22:07:22 +01:00
2011-01-27 21:13:51 -05:00
2011-03-31 11:26:23 -03:00
2011-02-23 11:33:59 +01:00
2010-11-23 10:29:08 +01:00
2011-04-24 13:18:38 +02:00
2011-07-20 18:32:40 +02:00
2011-07-20 18:32:41 +02:00
2011-04-14 08:52:36 +02:00
2012-02-13 11:06:08 -08:00
2011-05-28 17:02:54 +02:00
2011-04-14 08:52:36 +02:00
2011-10-16 14:14:51 -07:00
2011-11-11 09:36:23 -08:00
2011-06-17 10:17:12 +02:00
2011-07-20 10:50:12 -07:00
2011-01-14 04:56:49 -08:00
2011-08-29 13:29:08 -07:00
2011-05-20 13:53:02 -07:00
2011-10-25 07:10:14 +02:00
2012-01-06 14:13:50 -08:00
2011-03-23 19:46:51 -07:00
2011-06-04 12:22:04 +02:00
2011-12-21 12:57:40 -08:00
2010-10-14 08:55:27 +02:00
2011-11-11 09:35:52 -08:00
2011-06-03 15:02:32 +02:00
2011-04-04 12:48:08 -04:00
2010-10-27 18:03:17 -07:00
2011-03-23 19:47:08 -07:00
2011-01-13 08:03:18 -08:00
2011-03-31 11:26:23 -03:00
2011-03-23 19:46:59 -07:00
2011-05-10 14:35:35 -07:00
2011-03-31 11:26:23 -03:00
2011-05-23 21:07:40 -07:00
2012-03-19 08:57:59 -07:00