lkml.org 
[lkml]   [2012]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 3/3] PCI Hotplug: workaround for Thunderbolt on Intel DZ77RE-75K motherboard
From
On Thu, Dec 13, 2012 at 12:08 PM, Kirill A. Shutemov
<kirill.shutemov@linux.intel.com> wrote:
> On Thu, Dec 13, 2012 at 10:48:20AM -0800, Greg KH wrote:
>> On Thu, Dec 13, 2012 at 05:31:48PM +0200, Kirill A. Shutemov wrote:
>> > From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
>> >
>> > BIOS on Intel DZ77RE-75K motherboard notifies OS about Thunderbolt
>> > hotplug before devices behind Thunderbolt are ready to be enumerated.
>> >
>> > Let's delay enumeration by 2 seconds.
>> >
>> > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
>> > ---
>> > drivers/pci/hotplug/acpiphp_glue.c | 16 +++++++++++++++-
>> > 1 file changed, 15 insertions(+), 1 deletion(-)
>> >
>> > diff --git a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c
>> > index 1a2b3ca..165987a 100644
>> > --- a/drivers/pci/hotplug/acpiphp_glue.c
>> > +++ b/drivers/pci/hotplug/acpiphp_glue.c
>> > @@ -49,6 +49,7 @@
>> > #include <linux/mutex.h>
>> > #include <linux/slab.h>
>> > #include <linux/acpi.h>
>> > +#include <linux/dmi.h>
>> >
>> > #include "../pci.h"
>> > #include "acpiphp.h"
>> > @@ -1327,6 +1328,19 @@ out:
>> > static void handle_hotplug_event_bridge(acpi_handle handle, u32 type,
>> > void *context)
>> > {
>> > + unsigned long delay = 0;
>> > + const char *board_name;
>> > +
>> > + board_name = dmi_get_system_info(DMI_BOARD_NAME);
>> > + /*
>> > + * BIOS on Intel DZ77RE-75K motherboard notifies OS about Thunderbolt
>> > + * hotplug before devices behind Thunderbolt are ready to be
>> > + * enumerated.
>> > + * Let's delay enumeration by 2 seconds.
>> > + */
>> > + if (board_name && !strcmp(board_name, "DZ77RE-75K"))
>> > + delay = 2 * HZ;
>>

Linus will not be happy with those kind of delay.

is there any way for kernel to retry before device is declared not there.

pcie hotplug spec: need to retry several times in 1000ms before
delcaring the devices is not present.

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=2f5d8e4ff947ad6673397083b48719cd6c59cd61


\
 
 \ /
  Last update: 2012-12-13 22:01    [W:0.124 / U:0.852 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site