All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] consolidate driver_probe_done() loops into one place
@ 2009-01-10  5:13 Arjan van de Ven
  2009-01-10  5:14 ` [PATCH 2/2] resume: wait for device probing to finish Arjan van de Ven
  2009-01-25 22:18 ` [PATCH 1/2] consolidate driver_probe_done() loops into one place Greg KH
  0 siblings, 2 replies; 9+ messages in thread
From: Arjan van de Ven @ 2009-01-10  5:13 UTC (permalink / raw)
  To: rjw; +Cc: linux-kernel, greg

>From 11b47973023398ecdb933c442bab120906946762 Mon Sep 17 00:00:00 2001
From: Arjan van de Ven <arjan@linux.intel.com>
Date: Fri, 9 Jan 2009 21:04:53 -0800
Subject: [PATCH] consolidate driver_probe_done() loops into one place

there's a few places that currently loop over driver_probe_done(), and
I'm about to add another one. This patch abstracts it into a helper
to reduce duplication.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
---
 drivers/base/dd.c      |   16 ++++++++++++++++
 include/linux/device.h |    2 ++
 init/do_mounts.c       |   13 +++++++++----
 init/do_mounts_md.c    |    5 +++--
 4 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index 315bed8..b911fab 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -21,6 +21,7 @@
 #include <linux/module.h>
 #include <linux/kthread.h>
 #include <linux/wait.h>
+#include <linux/async.h>
 
 #include "base.h"
 #include "power/power.h"
@@ -168,6 +169,21 @@ int driver_probe_done(void)
 }
 
 /**
+ * wait_for_device_probe
+ * Wait for device probing to be completed.
+ *
+ * Note: this function polls at 100 msec intervals.
+ */
+int wait_for_device_probe(void)
+{
+	/* wait for the known devices to complete their probing */
+	while (driver_probe_done() != 0)
+		msleep(100);
+	async_synchronize_full();
+	return 0;
+}
+
+/**
  * driver_probe_device - attempt to bind device & driver together
  * @drv: driver to bind a device to
  * @dev: device to try to bind to the driver
diff --git a/include/linux/device.h b/include/linux/device.h
index 45e5b19..47f343c 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -147,6 +147,8 @@ extern void put_driver(struct device_driver *drv);
 extern struct device_driver *driver_find(const char *name,
 					 struct bus_type *bus);
 extern int driver_probe_done(void);
+extern int wait_for_device_probe(void);
+
 
 /* sysfs interface for exporting driver attributes */
 
diff --git a/init/do_mounts.c b/init/do_mounts.c
index 708105e..2c80113 100644
--- a/init/do_mounts.c
+++ b/init/do_mounts.c
@@ -370,10 +370,14 @@ void __init prepare_namespace(void)
 		ssleep(root_delay);
 	}
 
-	/* wait for the known devices to complete their probing */
-	while (driver_probe_done() != 0)
-		msleep(100);
-	async_synchronize_full();
+	/* 
+	 * wait for the known devices to complete their probing 
+	 *
+	 * Note: this is a potential source of long boot delays.
+	 * For example, it is not atypical to wait 5 seconds here
+	 * for the touchpad of a laptop to initialize.
+	 */
+	wait_for_device_probe();
 
 	md_run_setup();
 
@@ -399,6 +403,7 @@ void __init prepare_namespace(void)
 		while (driver_probe_done() != 0 ||
 			(ROOT_DEV = name_to_dev_t(saved_root_name)) == 0)
 			msleep(100);
+		async_synchronize_full();
 	}
 
 	is_floppy = MAJOR(ROOT_DEV) == FLOPPY_MAJOR;
diff --git a/init/do_mounts_md.c b/init/do_mounts_md.c
index ff95e31..9bdddbc 100644
--- a/init/do_mounts_md.c
+++ b/init/do_mounts_md.c
@@ -281,8 +281,9 @@ static void __init autodetect_raid(void)
 	 */
 	printk(KERN_INFO "md: Waiting for all devices to be available before autodetect\n");
 	printk(KERN_INFO "md: If you don't use raid, use raid=noautodetect\n");
-	while (driver_probe_done() < 0)
-		msleep(100);
+
+	wait_for_device_probe();
+
 	fd = sys_open("/dev/md0", 0, 0);
 	if (fd >= 0) {
 		sys_ioctl(fd, RAID_AUTORUN, raid_autopart);
-- 
1.6.0.6



-- 
Arjan van de Ven 	Intel Open Source Technology Centre
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/2] resume: wait for device probing to finish
  2009-01-10  5:13 [PATCH 1/2] consolidate driver_probe_done() loops into one place Arjan van de Ven
@ 2009-01-10  5:14 ` Arjan van de Ven
  2009-01-13  0:36   ` Rafael J. Wysocki
  2009-01-25 22:18 ` [PATCH 1/2] consolidate driver_probe_done() loops into one place Greg KH
  1 sibling, 1 reply; 9+ messages in thread
From: Arjan van de Ven @ 2009-01-10  5:14 UTC (permalink / raw)
  To: rjw; +Cc: Arjan van de Ven, linux-kernel, greg

(this patch needs testing on a few different machines; compile tested only)


>From 10b3e25671c817933e232498a56640fd48964345 Mon Sep 17 00:00:00 2001
From: Arjan van de Ven <arjan@linux.intel.com>
Date: Fri, 9 Jan 2009 21:11:23 -0800
Subject: [PATCH] resume: wait for device probing to finish

the resume code does not currently wait for device probing to finish.
Even without async function calls this is dicey and not correct,
but with async function calls during the boot sequence this is going
to get hit more...

This patch adds the synchronization using the newly introduced helper.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
---
 kernel/power/disk.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/kernel/power/disk.c b/kernel/power/disk.c
index 45e8541..d2d24b7 100644
--- a/kernel/power/disk.c
+++ b/kernel/power/disk.c
@@ -585,6 +585,12 @@ static int software_resume(void)
 	unsigned int flags;
 
 	/*
+	 * If the user said "noresume".. bail out early.
+	 */
+	if (noresume)
+		return 0;
+
+	/*
 	 * name_to_dev_t() below takes a sysfs buffer mutex when sysfs
 	 * is configured into the kernel. Since the regular hibernate
 	 * trigger path is via sysfs which takes a buffer mutex before
@@ -600,6 +606,11 @@ static int software_resume(void)
 			mutex_unlock(&pm_mutex);
 			return -ENOENT;
 		}
+		/*
+		 * Some device discovery might still be in progress; we need
+		 * to wait for this to finish.
+		 */
+		wait_for_device_probe();
 		swsusp_resume_device = name_to_dev_t(resume_file);
 		pr_debug("PM: Resume from partition %s\n", resume_file);
 	} else {
-- 
1.6.0.6



-- 
Arjan van de Ven 	Intel Open Source Technology Centre
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/2] resume: wait for device probing to finish
  2009-01-10  5:14 ` [PATCH 2/2] resume: wait for device probing to finish Arjan van de Ven
@ 2009-01-13  0:36   ` Rafael J. Wysocki
  0 siblings, 0 replies; 9+ messages in thread
From: Rafael J. Wysocki @ 2009-01-13  0:36 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: linux-kernel, greg, Len Brown

On Saturday 10 January 2009, Arjan van de Ven wrote:
> (this patch needs testing on a few different machines; compile tested only)
> 
> 
> From 10b3e25671c817933e232498a56640fd48964345 Mon Sep 17 00:00:00 2001
> From: Arjan van de Ven <arjan@linux.intel.com>
> Date: Fri, 9 Jan 2009 21:11:23 -0800
> Subject: [PATCH] resume: wait for device probing to finish
> 
> the resume code does not currently wait for device probing to finish.
> Even without async function calls this is dicey and not correct,
> but with async function calls during the boot sequence this is going
> to get hit more...
> 
> This patch adds the synchronization using the newly introduced helper.
> 
> Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>

Sorry for the delay, but I only could do the testing today.

It appears that 2.6.29-rc1 with the two patches in this series applied resumes
from hibernation correctly.

Please push the second one to Len with my ack.

Thanks,
Rafael


> ---
>  kernel/power/disk.c |   11 +++++++++++
>  1 files changed, 11 insertions(+), 0 deletions(-)
> 
> diff --git a/kernel/power/disk.c b/kernel/power/disk.c
> index 45e8541..d2d24b7 100644
> --- a/kernel/power/disk.c
> +++ b/kernel/power/disk.c
> @@ -585,6 +585,12 @@ static int software_resume(void)
>  	unsigned int flags;
>  
>  	/*
> +	 * If the user said "noresume".. bail out early.
> +	 */
> +	if (noresume)
> +		return 0;
> +
> +	/*
>  	 * name_to_dev_t() below takes a sysfs buffer mutex when sysfs
>  	 * is configured into the kernel. Since the regular hibernate
>  	 * trigger path is via sysfs which takes a buffer mutex before
> @@ -600,6 +606,11 @@ static int software_resume(void)
>  			mutex_unlock(&pm_mutex);
>  			return -ENOENT;
>  		}
> +		/*
> +		 * Some device discovery might still be in progress; we need
> +		 * to wait for this to finish.
> +		 */
> +		wait_for_device_probe();
>  		swsusp_resume_device = name_to_dev_t(resume_file);
>  		pr_debug("PM: Resume from partition %s\n", resume_file);
>  	} else {
> -- 
> 1.6.0.6

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/2] consolidate driver_probe_done() loops into one place
  2009-01-10  5:13 [PATCH 1/2] consolidate driver_probe_done() loops into one place Arjan van de Ven
  2009-01-10  5:14 ` [PATCH 2/2] resume: wait for device probing to finish Arjan van de Ven
@ 2009-01-25 22:18 ` Greg KH
  2009-01-26 16:48   ` Rafael J. Wysocki
  1 sibling, 1 reply; 9+ messages in thread
From: Greg KH @ 2009-01-25 22:18 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: rjw, linux-kernel

On Fri, Jan 09, 2009 at 09:13:46PM -0800, Arjan van de Ven wrote:
> From 11b47973023398ecdb933c442bab120906946762 Mon Sep 17 00:00:00 2001
> From: Arjan van de Ven <arjan@linux.intel.com>
> Date: Fri, 9 Jan 2009 21:04:53 -0800
> Subject: [PATCH] consolidate driver_probe_done() loops into one place
> 
> there's a few places that currently loop over driver_probe_done(), and
> I'm about to add another one. This patch abstracts it into a helper
> to reduce duplication.
> 
> Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>

Acked-by: Greg Kroah-Hartman <gregkh@suse.de>

Do you need me to take this through my tree?  Or is it going through the
acpi tree?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/2] consolidate driver_probe_done() loops into one place
  2009-01-25 22:18 ` [PATCH 1/2] consolidate driver_probe_done() loops into one place Greg KH
@ 2009-01-26 16:48   ` Rafael J. Wysocki
  2009-01-26 16:59     ` Andrew Morton
  0 siblings, 1 reply; 9+ messages in thread
From: Rafael J. Wysocki @ 2009-01-26 16:48 UTC (permalink / raw)
  To: Greg KH; +Cc: Arjan van de Ven, linux-kernel, Andrew Morton

On Sunday 25 January 2009, Greg KH wrote:
> On Fri, Jan 09, 2009 at 09:13:46PM -0800, Arjan van de Ven wrote:
> > From 11b47973023398ecdb933c442bab120906946762 Mon Sep 17 00:00:00 2001
> > From: Arjan van de Ven <arjan@linux.intel.com>
> > Date: Fri, 9 Jan 2009 21:04:53 -0800
> > Subject: [PATCH] consolidate driver_probe_done() loops into one place
> > 
> > there's a few places that currently loop over driver_probe_done(), and
> > I'm about to add another one. This patch abstracts it into a helper
> > to reduce duplication.
> > 
> > Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
> 
> Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
> 
> Do you need me to take this through my tree?  Or is it going through the
> acpi tree?

I've lost the track.

Anyway, it's a part of a two-patch series and I think both are in -mm.

Andrew, do you have them?

Rafael

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/2] consolidate driver_probe_done() loops into one place
  2009-01-26 16:48   ` Rafael J. Wysocki
@ 2009-01-26 16:59     ` Andrew Morton
  2009-01-26 19:18       ` Rafael J. Wysocki
  0 siblings, 1 reply; 9+ messages in thread
From: Andrew Morton @ 2009-01-26 16:59 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: Greg KH, Arjan van de Ven, linux-kernel

On Mon, 26 Jan 2009 17:48:05 +0100 "Rafael J. Wysocki" <rjw@sisk.pl> wrote:

> On Sunday 25 January 2009, Greg KH wrote:
> > On Fri, Jan 09, 2009 at 09:13:46PM -0800, Arjan van de Ven wrote:
> > > From 11b47973023398ecdb933c442bab120906946762 Mon Sep 17 00:00:00 2001
> > > From: Arjan van de Ven <arjan@linux.intel.com>
> > > Date: Fri, 9 Jan 2009 21:04:53 -0800
> > > Subject: [PATCH] consolidate driver_probe_done() loops into one place
> > > 
> > > there's a few places that currently loop over driver_probe_done(), and
> > > I'm about to add another one. This patch abstracts it into a helper
> > > to reduce duplication.
> > > 
> > > Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
> > 
> > Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
> > 
> > Do you need me to take this through my tree?  Or is it going through the
> > acpi tree?
> 
> I've lost the track.
> 
> Anyway, it's a part of a two-patch series and I think both are in -mm.
> 
> Andrew, do you have them?
> 

I have these:

early-platform-drivers-v2.patch
drivers-consolidate-driver_probe_done-loops-into-one-place.patch
drivers-consolidate-driver_probe_done-loops-into-one-place-fix.patch
drivers-consolidate-driver_probe_done-loops-into-one-place-checkpatch-fixes.patch
resume-wait-for-device-probing-to-finish.patch
sysfs-use-standard-magich-for-sysfs.patch

queued up for sending into Greg for his "driver core" tree.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/2] consolidate driver_probe_done() loops into one place
  2009-01-26 16:59     ` Andrew Morton
@ 2009-01-26 19:18       ` Rafael J. Wysocki
  2009-01-26 19:43         ` Greg KH
  0 siblings, 1 reply; 9+ messages in thread
From: Rafael J. Wysocki @ 2009-01-26 19:18 UTC (permalink / raw)
  To: Andrew Morton, Greg KH; +Cc: Arjan van de Ven, linux-kernel

On Monday 26 January 2009, Andrew Morton wrote:
> On Mon, 26 Jan 2009 17:48:05 +0100 "Rafael J. Wysocki" <rjw@sisk.pl> wrote:
> 
> > On Sunday 25 January 2009, Greg KH wrote:
> > > On Fri, Jan 09, 2009 at 09:13:46PM -0800, Arjan van de Ven wrote:
> > > > From 11b47973023398ecdb933c442bab120906946762 Mon Sep 17 00:00:00 2001
> > > > From: Arjan van de Ven <arjan@linux.intel.com>
> > > > Date: Fri, 9 Jan 2009 21:04:53 -0800
> > > > Subject: [PATCH] consolidate driver_probe_done() loops into one place
> > > > 
> > > > there's a few places that currently loop over driver_probe_done(), and
> > > > I'm about to add another one. This patch abstracts it into a helper
> > > > to reduce duplication.
> > > > 
> > > > Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
> > > 
> > > Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
> > > 
> > > Do you need me to take this through my tree?  Or is it going through the
> > > acpi tree?
> > 
> > I've lost the track.
> > 
> > Anyway, it's a part of a two-patch series and I think both are in -mm.
> > 
> > Andrew, do you have them?
> > 
> 
> I have these:
> 
> early-platform-drivers-v2.patch
> drivers-consolidate-driver_probe_done-loops-into-one-place.patch
> drivers-consolidate-driver_probe_done-loops-into-one-place-fix.patch
> drivers-consolidate-driver_probe_done-loops-into-one-place-checkpatch-fixes.patch
> resume-wait-for-device-probing-to-finish.patch
> sysfs-use-standard-magich-for-sysfs.patch
> 
> queued up for sending into Greg for his "driver core" tree.

Thanks!

Greg, I assume you're going to get them from Andrew shortly.  2-4 definitely
are .29 material (they fix a regression), the others two I don't know.

Rafael

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/2] consolidate driver_probe_done() loops into one place
  2009-01-26 19:18       ` Rafael J. Wysocki
@ 2009-01-26 19:43         ` Greg KH
  2009-01-27 15:18           ` Rafael J. Wysocki
  0 siblings, 1 reply; 9+ messages in thread
From: Greg KH @ 2009-01-26 19:43 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: Andrew Morton, Arjan van de Ven, linux-kernel

On Mon, Jan 26, 2009 at 08:18:40PM +0100, Rafael J. Wysocki wrote:
> On Monday 26 January 2009, Andrew Morton wrote:
> > On Mon, 26 Jan 2009 17:48:05 +0100 "Rafael J. Wysocki" <rjw@sisk.pl> wrote:
> > 
> > > On Sunday 25 January 2009, Greg KH wrote:
> > > > On Fri, Jan 09, 2009 at 09:13:46PM -0800, Arjan van de Ven wrote:
> > > > > From 11b47973023398ecdb933c442bab120906946762 Mon Sep 17 00:00:00 2001
> > > > > From: Arjan van de Ven <arjan@linux.intel.com>
> > > > > Date: Fri, 9 Jan 2009 21:04:53 -0800
> > > > > Subject: [PATCH] consolidate driver_probe_done() loops into one place
> > > > > 
> > > > > there's a few places that currently loop over driver_probe_done(), and
> > > > > I'm about to add another one. This patch abstracts it into a helper
> > > > > to reduce duplication.
> > > > > 
> > > > > Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
> > > > 
> > > > Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
> > > > 
> > > > Do you need me to take this through my tree?  Or is it going through the
> > > > acpi tree?
> > > 
> > > I've lost the track.
> > > 
> > > Anyway, it's a part of a two-patch series and I think both are in -mm.
> > > 
> > > Andrew, do you have them?
> > > 
> > 
> > I have these:
> > 
> > early-platform-drivers-v2.patch
> > drivers-consolidate-driver_probe_done-loops-into-one-place.patch
> > drivers-consolidate-driver_probe_done-loops-into-one-place-fix.patch
> > drivers-consolidate-driver_probe_done-loops-into-one-place-checkpatch-fixes.patch
> > resume-wait-for-device-probing-to-finish.patch
> > sysfs-use-standard-magich-for-sysfs.patch
> > 
> > queued up for sending into Greg for his "driver core" tree.
> 
> Thanks!
> 
> Greg, I assume you're going to get them from Andrew shortly.  2-4 definitely
> are .29 material (they fix a regression), the others two I don't know.

They are?  I didn't realize this, sorry.  What regression do they solve?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/2] consolidate driver_probe_done() loops into one place
  2009-01-26 19:43         ` Greg KH
@ 2009-01-27 15:18           ` Rafael J. Wysocki
  0 siblings, 0 replies; 9+ messages in thread
From: Rafael J. Wysocki @ 2009-01-27 15:18 UTC (permalink / raw)
  To: Greg KH; +Cc: Andrew Morton, Arjan van de Ven, linux-kernel

On Monday 26 January 2009, Greg KH wrote:
> On Mon, Jan 26, 2009 at 08:18:40PM +0100, Rafael J. Wysocki wrote:
> > On Monday 26 January 2009, Andrew Morton wrote:
> > > On Mon, 26 Jan 2009 17:48:05 +0100 "Rafael J. Wysocki" <rjw@sisk.pl> wrote:
> > > 
> > > > On Sunday 25 January 2009, Greg KH wrote:
> > > > > On Fri, Jan 09, 2009 at 09:13:46PM -0800, Arjan van de Ven wrote:
> > > > > > From 11b47973023398ecdb933c442bab120906946762 Mon Sep 17 00:00:00 2001
> > > > > > From: Arjan van de Ven <arjan@linux.intel.com>
> > > > > > Date: Fri, 9 Jan 2009 21:04:53 -0800
> > > > > > Subject: [PATCH] consolidate driver_probe_done() loops into one place
> > > > > > 
> > > > > > there's a few places that currently loop over driver_probe_done(), and
> > > > > > I'm about to add another one. This patch abstracts it into a helper
> > > > > > to reduce duplication.
> > > > > > 
> > > > > > Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
> > > > > 
> > > > > Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
> > > > > 
> > > > > Do you need me to take this through my tree?  Or is it going through the
> > > > > acpi tree?
> > > > 
> > > > I've lost the track.
> > > > 
> > > > Anyway, it's a part of a two-patch series and I think both are in -mm.
> > > > 
> > > > Andrew, do you have them?
> > > > 
> > > 
> > > I have these:
> > > 
> > > early-platform-drivers-v2.patch
> > > drivers-consolidate-driver_probe_done-loops-into-one-place.patch
> > > drivers-consolidate-driver_probe_done-loops-into-one-place-fix.patch
> > > drivers-consolidate-driver_probe_done-loops-into-one-place-checkpatch-fixes.patch
> > > resume-wait-for-device-probing-to-finish.patch
> > > sysfs-use-standard-magich-for-sysfs.patch
> > > 
> > > queued up for sending into Greg for his "driver core" tree.
> > 
> > Thanks!
> > 
> > Greg, I assume you're going to get them from Andrew shortly.  2-4 definitely
> > are .29 material (they fix a regression), the others two I don't know.
> 
> They are?  I didn't realize this, sorry.  What regression do they solve?

Resume from hibernation is broken after the async stuff from Arjan has been
merged.  In fact this is due to a long-standing bug, but the async code has
just made it show up.

Thanks,
Rafael

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2009-01-27 15:19 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-01-10  5:13 [PATCH 1/2] consolidate driver_probe_done() loops into one place Arjan van de Ven
2009-01-10  5:14 ` [PATCH 2/2] resume: wait for device probing to finish Arjan van de Ven
2009-01-13  0:36   ` Rafael J. Wysocki
2009-01-25 22:18 ` [PATCH 1/2] consolidate driver_probe_done() loops into one place Greg KH
2009-01-26 16:48   ` Rafael J. Wysocki
2009-01-26 16:59     ` Andrew Morton
2009-01-26 19:18       ` Rafael J. Wysocki
2009-01-26 19:43         ` Greg KH
2009-01-27 15:18           ` Rafael J. Wysocki

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.