linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/1] ipmi: remove trydefaults parameter and default init
@ 2016-06-22 18:22 Tony Camuso
  2016-06-28  1:34 ` Corey Minyard
  0 siblings, 1 reply; 5+ messages in thread
From: Tony Camuso @ 2016-06-22 18:22 UTC (permalink / raw)
  To: minyard, openipmi-developer; +Cc: linux-kernel

Parameter trydefaults=1 causes the ipmi_init to initialize ipmi through
the legacy port io space that was designated for ipmi. Architectures
that do not map legacy port io can panic when trydefaults=1.

Rather than implement build-time conditional exceptions for each
architecture that does not map legacy port io, we have removed legacy
port io from the driver.

Parameter 'trydefaults' has been removed. Attempts to use it hereafter
will evoke the "Unknown symbol in module, or unknown parameter" message.

The patch was built against a number of architectures and tested for
regressions and functionality on x86_64 and ARM64.

Signed-off-by: Tony Camuso <tcamuso@redhat.com>
---
 drivers/char/ipmi/ipmi_si_intf.c | 73 ----------------------------------------
 1 file changed, 73 deletions(-)

diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
index 7b1c412..a112c01 100644
--- a/drivers/char/ipmi/ipmi_si_intf.c
+++ b/drivers/char/ipmi/ipmi_si_intf.c
@@ -1322,7 +1322,6 @@ static bool          si_tryplatform = true;
 #ifdef CONFIG_PCI
 static bool          si_trypci = true;
 #endif
-static bool          si_trydefaults = IS_ENABLED(CONFIG_IPMI_SI_PROBE_DEFAULTS);
 static char          *si_type[SI_MAX_PARMS];
 #define MAX_SI_TYPE_STR 30
 static char          si_type_str[MAX_SI_TYPE_STR];
@@ -1371,10 +1370,6 @@ module_param_named(trypci, si_trypci, bool, 0);
 MODULE_PARM_DESC(trypci, "Setting this to zero will disable the"
 		 " default scan of the interfaces identified via pci");
 #endif
-module_param_named(trydefaults, si_trydefaults, bool, 0);
-MODULE_PARM_DESC(trydefaults, "Setting this to 'false' will disable the"
-		 " default scan of the KCS and SMIC interface at the standard"
-		 " address");
 module_param_string(type, si_type_str, MAX_SI_TYPE_STR, 0);
 MODULE_PARM_DESC(type, "Defines the type of each interface, each"
 		 " interface separated by commas.  The types are 'kcs',"
@@ -3461,62 +3456,6 @@ static inline void wait_for_timer_and_thread(struct smi_info *smi_info)
 		del_timer_sync(&smi_info->si_timer);
 }
 
-static const struct ipmi_default_vals
-{
-	const int type;
-	const int port;
-} ipmi_defaults[] =
-{
-	{ .type = SI_KCS, .port = 0xca2 },
-	{ .type = SI_SMIC, .port = 0xca9 },
-	{ .type = SI_BT, .port = 0xe4 },
-	{ .port = 0 }
-};
-
-static void default_find_bmc(void)
-{
-	struct smi_info *info;
-	int             i;
-
-	for (i = 0; ; i++) {
-		if (!ipmi_defaults[i].port)
-			break;
-#ifdef CONFIG_PPC
-		if (check_legacy_ioport(ipmi_defaults[i].port))
-			continue;
-#endif
-		info = smi_info_alloc();
-		if (!info)
-			return;
-
-		info->addr_source = SI_DEFAULT;
-
-		info->si_type = ipmi_defaults[i].type;
-		info->io_setup = port_setup;
-		info->io.addr_data = ipmi_defaults[i].port;
-		info->io.addr_type = IPMI_IO_ADDR_SPACE;
-
-		info->io.addr = NULL;
-		info->io.regspacing = DEFAULT_REGSPACING;
-		info->io.regsize = DEFAULT_REGSPACING;
-		info->io.regshift = 0;
-
-		if (add_smi(info) == 0) {
-			if ((try_smi_init(info)) == 0) {
-				/* Found one... */
-				printk(KERN_INFO PFX "Found default %s"
-				" state machine at %s address 0x%lx\n",
-				si_to_str[info->si_type],
-				addr_space_to_str[info->io.addr_type],
-				info->io.addr_data);
-			} else
-				cleanup_one_si(info);
-		} else {
-			kfree(info);
-		}
-	}
-}
-
 static int is_new_interface(struct smi_info *info)
 {
 	struct smi_info *e;
@@ -3844,8 +3783,6 @@ static int init_ipmi_si(void)
 #ifdef CONFIG_PARISC
 	register_parisc_driver(&ipmi_parisc_driver);
 	parisc_registered = true;
-	/* poking PC IO addresses will crash machine, don't do it */
-	si_trydefaults = 0;
 #endif
 
 	/* We prefer devices with interrupts, but in the case of a machine
@@ -3885,16 +3822,6 @@ static int init_ipmi_si(void)
 	if (type)
 		return 0;
 
-	if (si_trydefaults) {
-		mutex_lock(&smi_infos_lock);
-		if (list_empty(&smi_infos)) {
-			/* No BMC was found, try defaults. */
-			mutex_unlock(&smi_infos_lock);
-			default_find_bmc();
-		} else
-			mutex_unlock(&smi_infos_lock);
-	}
-
 	mutex_lock(&smi_infos_lock);
 	if (unload_when_empty && list_empty(&smi_infos)) {
 		mutex_unlock(&smi_infos_lock);
-- 
2.5.5

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

* Re: [PATCH 1/1] ipmi: remove trydefaults parameter and default init
  2016-06-22 18:22 [PATCH 1/1] ipmi: remove trydefaults parameter and default init Tony Camuso
@ 2016-06-28  1:34 ` Corey Minyard
  2016-06-28 10:14   ` Tony Camuso
  0 siblings, 1 reply; 5+ messages in thread
From: Corey Minyard @ 2016-06-28  1:34 UTC (permalink / raw)
  To: Tony Camuso, openipmi-developer; +Cc: linux-kernel

Queued for 2.18, if that is ok.

Thanks,

-corey

On 06/22/2016 01:22 PM, Tony Camuso wrote:
> Parameter trydefaults=1 causes the ipmi_init to initialize ipmi through
> the legacy port io space that was designated for ipmi. Architectures
> that do not map legacy port io can panic when trydefaults=1.
>
> Rather than implement build-time conditional exceptions for each
> architecture that does not map legacy port io, we have removed legacy
> port io from the driver.
>
> Parameter 'trydefaults' has been removed. Attempts to use it hereafter
> will evoke the "Unknown symbol in module, or unknown parameter" message.
>
> The patch was built against a number of architectures and tested for
> regressions and functionality on x86_64 and ARM64.
>
> Signed-off-by: Tony Camuso <tcamuso@redhat.com>
> ---
>   drivers/char/ipmi/ipmi_si_intf.c | 73 ----------------------------------------
>   1 file changed, 73 deletions(-)
>
> diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
> index 7b1c412..a112c01 100644
> --- a/drivers/char/ipmi/ipmi_si_intf.c
> +++ b/drivers/char/ipmi/ipmi_si_intf.c
> @@ -1322,7 +1322,6 @@ static bool          si_tryplatform = true;
>   #ifdef CONFIG_PCI
>   static bool          si_trypci = true;
>   #endif
> -static bool          si_trydefaults = IS_ENABLED(CONFIG_IPMI_SI_PROBE_DEFAULTS);
>   static char          *si_type[SI_MAX_PARMS];
>   #define MAX_SI_TYPE_STR 30
>   static char          si_type_str[MAX_SI_TYPE_STR];
> @@ -1371,10 +1370,6 @@ module_param_named(trypci, si_trypci, bool, 0);
>   MODULE_PARM_DESC(trypci, "Setting this to zero will disable the"
>   		 " default scan of the interfaces identified via pci");
>   #endif
> -module_param_named(trydefaults, si_trydefaults, bool, 0);
> -MODULE_PARM_DESC(trydefaults, "Setting this to 'false' will disable the"
> -		 " default scan of the KCS and SMIC interface at the standard"
> -		 " address");
>   module_param_string(type, si_type_str, MAX_SI_TYPE_STR, 0);
>   MODULE_PARM_DESC(type, "Defines the type of each interface, each"
>   		 " interface separated by commas.  The types are 'kcs',"
> @@ -3461,62 +3456,6 @@ static inline void wait_for_timer_and_thread(struct smi_info *smi_info)
>   		del_timer_sync(&smi_info->si_timer);
>   }
>   
> -static const struct ipmi_default_vals
> -{
> -	const int type;
> -	const int port;
> -} ipmi_defaults[] =
> -{
> -	{ .type = SI_KCS, .port = 0xca2 },
> -	{ .type = SI_SMIC, .port = 0xca9 },
> -	{ .type = SI_BT, .port = 0xe4 },
> -	{ .port = 0 }
> -};
> -
> -static void default_find_bmc(void)
> -{
> -	struct smi_info *info;
> -	int             i;
> -
> -	for (i = 0; ; i++) {
> -		if (!ipmi_defaults[i].port)
> -			break;
> -#ifdef CONFIG_PPC
> -		if (check_legacy_ioport(ipmi_defaults[i].port))
> -			continue;
> -#endif
> -		info = smi_info_alloc();
> -		if (!info)
> -			return;
> -
> -		info->addr_source = SI_DEFAULT;
> -
> -		info->si_type = ipmi_defaults[i].type;
> -		info->io_setup = port_setup;
> -		info->io.addr_data = ipmi_defaults[i].port;
> -		info->io.addr_type = IPMI_IO_ADDR_SPACE;
> -
> -		info->io.addr = NULL;
> -		info->io.regspacing = DEFAULT_REGSPACING;
> -		info->io.regsize = DEFAULT_REGSPACING;
> -		info->io.regshift = 0;
> -
> -		if (add_smi(info) == 0) {
> -			if ((try_smi_init(info)) == 0) {
> -				/* Found one... */
> -				printk(KERN_INFO PFX "Found default %s"
> -				" state machine at %s address 0x%lx\n",
> -				si_to_str[info->si_type],
> -				addr_space_to_str[info->io.addr_type],
> -				info->io.addr_data);
> -			} else
> -				cleanup_one_si(info);
> -		} else {
> -			kfree(info);
> -		}
> -	}
> -}
> -
>   static int is_new_interface(struct smi_info *info)
>   {
>   	struct smi_info *e;
> @@ -3844,8 +3783,6 @@ static int init_ipmi_si(void)
>   #ifdef CONFIG_PARISC
>   	register_parisc_driver(&ipmi_parisc_driver);
>   	parisc_registered = true;
> -	/* poking PC IO addresses will crash machine, don't do it */
> -	si_trydefaults = 0;
>   #endif
>   
>   	/* We prefer devices with interrupts, but in the case of a machine
> @@ -3885,16 +3822,6 @@ static int init_ipmi_si(void)
>   	if (type)
>   		return 0;
>   
> -	if (si_trydefaults) {
> -		mutex_lock(&smi_infos_lock);
> -		if (list_empty(&smi_infos)) {
> -			/* No BMC was found, try defaults. */
> -			mutex_unlock(&smi_infos_lock);
> -			default_find_bmc();
> -		} else
> -			mutex_unlock(&smi_infos_lock);
> -	}
> -
>   	mutex_lock(&smi_infos_lock);
>   	if (unload_when_empty && list_empty(&smi_infos)) {
>   		mutex_unlock(&smi_infos_lock);

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

* Re: [PATCH 1/1] ipmi: remove trydefaults parameter and default init
  2016-06-28  1:34 ` Corey Minyard
@ 2016-06-28 10:14   ` Tony Camuso
  2016-06-28 12:11     ` Corey Minyard
  0 siblings, 1 reply; 5+ messages in thread
From: Tony Camuso @ 2016-06-28 10:14 UTC (permalink / raw)
  To: minyard, openipmi-developer; +Cc: linux-kernel

On 06/27/2016 09:34 PM, Corey Minyard wrote:
> Queued for 2.18, if that is ok.
>
> Thanks,
>
> -corey

Yes, as long as there's enough time to shake it out before it's merged
with Linus. I've done some testing on a couple archs, and I'll do more
on some others as the opportunity arises.

Regards,
Tony


>
> On 06/22/2016 01:22 PM, Tony Camuso wrote:
>> Parameter trydefaults=1 causes the ipmi_init to initialize ipmi through
>> the legacy port io space that was designated for ipmi. Architectures
>> that do not map legacy port io can panic when trydefaults=1.
>>
>> Rather than implement build-time conditional exceptions for each
>> architecture that does not map legacy port io, we have removed legacy
>> port io from the driver.
>>
>> Parameter 'trydefaults' has been removed. Attempts to use it hereafter
>> will evoke the "Unknown symbol in module, or unknown parameter" message.
>>
>> The patch was built against a number of architectures and tested for
>> regressions and functionality on x86_64 and ARM64.
>>
>> Signed-off-by: Tony Camuso <tcamuso@redhat.com>
>> ---
>>   drivers/char/ipmi/ipmi_si_intf.c | 73 ----------------------------------------
>>   1 file changed, 73 deletions(-)
>>
>> diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
>> index 7b1c412..a112c01 100644
>> --- a/drivers/char/ipmi/ipmi_si_intf.c
>> +++ b/drivers/char/ipmi/ipmi_si_intf.c
>> @@ -1322,7 +1322,6 @@ static bool          si_tryplatform = true;
>>   #ifdef CONFIG_PCI
>>   static bool          si_trypci = true;
>>   #endif
>> -static bool          si_trydefaults = IS_ENABLED(CONFIG_IPMI_SI_PROBE_DEFAULTS);
>>   static char          *si_type[SI_MAX_PARMS];
>>   #define MAX_SI_TYPE_STR 30
>>   static char          si_type_str[MAX_SI_TYPE_STR];
>> @@ -1371,10 +1370,6 @@ module_param_named(trypci, si_trypci, bool, 0);
>>   MODULE_PARM_DESC(trypci, "Setting this to zero will disable the"
>>            " default scan of the interfaces identified via pci");
>>   #endif
>> -module_param_named(trydefaults, si_trydefaults, bool, 0);
>> -MODULE_PARM_DESC(trydefaults, "Setting this to 'false' will disable the"
>> -         " default scan of the KCS and SMIC interface at the standard"
>> -         " address");
>>   module_param_string(type, si_type_str, MAX_SI_TYPE_STR, 0);
>>   MODULE_PARM_DESC(type, "Defines the type of each interface, each"
>>            " interface separated by commas.  The types are 'kcs',"
>> @@ -3461,62 +3456,6 @@ static inline void wait_for_timer_and_thread(struct smi_info *smi_info)
>>           del_timer_sync(&smi_info->si_timer);
>>   }
>>   -static const struct ipmi_default_vals
>> -{
>> -    const int type;
>> -    const int port;
>> -} ipmi_defaults[] =
>> -{
>> -    { .type = SI_KCS, .port = 0xca2 },
>> -    { .type = SI_SMIC, .port = 0xca9 },
>> -    { .type = SI_BT, .port = 0xe4 },
>> -    { .port = 0 }
>> -};
>> -
>> -static void default_find_bmc(void)
>> -{
>> -    struct smi_info *info;
>> -    int             i;
>> -
>> -    for (i = 0; ; i++) {
>> -        if (!ipmi_defaults[i].port)
>> -            break;
>> -#ifdef CONFIG_PPC
>> -        if (check_legacy_ioport(ipmi_defaults[i].port))
>> -            continue;
>> -#endif
>> -        info = smi_info_alloc();
>> -        if (!info)
>> -            return;
>> -
>> -        info->addr_source = SI_DEFAULT;
>> -
>> -        info->si_type = ipmi_defaults[i].type;
>> -        info->io_setup = port_setup;
>> -        info->io.addr_data = ipmi_defaults[i].port;
>> -        info->io.addr_type = IPMI_IO_ADDR_SPACE;
>> -
>> -        info->io.addr = NULL;
>> -        info->io.regspacing = DEFAULT_REGSPACING;
>> -        info->io.regsize = DEFAULT_REGSPACING;
>> -        info->io.regshift = 0;
>> -
>> -        if (add_smi(info) == 0) {
>> -            if ((try_smi_init(info)) == 0) {
>> -                /* Found one... */
>> -                printk(KERN_INFO PFX "Found default %s"
>> -                " state machine at %s address 0x%lx\n",
>> -                si_to_str[info->si_type],
>> -                addr_space_to_str[info->io.addr_type],
>> -                info->io.addr_data);
>> -            } else
>> -                cleanup_one_si(info);
>> -        } else {
>> -            kfree(info);
>> -        }
>> -    }
>> -}
>> -
>>   static int is_new_interface(struct smi_info *info)
>>   {
>>       struct smi_info *e;
>> @@ -3844,8 +3783,6 @@ static int init_ipmi_si(void)
>>   #ifdef CONFIG_PARISC
>>       register_parisc_driver(&ipmi_parisc_driver);
>>       parisc_registered = true;
>> -    /* poking PC IO addresses will crash machine, don't do it */
>> -    si_trydefaults = 0;
>>   #endif
>>         /* We prefer devices with interrupts, but in the case of a machine
>> @@ -3885,16 +3822,6 @@ static int init_ipmi_si(void)
>>       if (type)
>>           return 0;
>>   -    if (si_trydefaults) {
>> -        mutex_lock(&smi_infos_lock);
>> -        if (list_empty(&smi_infos)) {
>> -            /* No BMC was found, try defaults. */
>> -            mutex_unlock(&smi_infos_lock);
>> -            default_find_bmc();
>> -        } else
>> -            mutex_unlock(&smi_infos_lock);
>> -    }
>> -
>>       mutex_lock(&smi_infos_lock);
>>       if (unload_when_empty && list_empty(&smi_infos)) {
>>           mutex_unlock(&smi_infos_lock);
>

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

* Re: [PATCH 1/1] ipmi: remove trydefaults parameter and default init
  2016-06-28 10:14   ` Tony Camuso
@ 2016-06-28 12:11     ` Corey Minyard
  2016-06-28 12:14       ` Tony Camuso
  0 siblings, 1 reply; 5+ messages in thread
From: Corey Minyard @ 2016-06-28 12:11 UTC (permalink / raw)
  To: Tony Camuso, openipmi-developer; +Cc: linux-kernel

On 06/28/2016 05:14 AM, Tony Camuso wrote:
> On 06/27/2016 09:34 PM, Corey Minyard wrote:
>> Queued for 2.18, if that is ok.
>>
>> Thanks,
>>
>> -corey
>
> Yes, as long as there's enough time to shake it out before it's merged
> with Linus. I've done some testing on a couple archs, and I'll do more
> on some others as the opportunity arises.
>

It's in linux-next, hopefully that provides enough shaking out.

-corey

> Regards,
> Tony
>
>
>>
>> On 06/22/2016 01:22 PM, Tony Camuso wrote:
>>> Parameter trydefaults=1 causes the ipmi_init to initialize ipmi through
>>> the legacy port io space that was designated for ipmi. Architectures
>>> that do not map legacy port io can panic when trydefaults=1.
>>>
>>> Rather than implement build-time conditional exceptions for each
>>> architecture that does not map legacy port io, we have removed legacy
>>> port io from the driver.
>>>
>>> Parameter 'trydefaults' has been removed. Attempts to use it hereafter
>>> will evoke the "Unknown symbol in module, or unknown parameter" 
>>> message.
>>>
>>> The patch was built against a number of architectures and tested for
>>> regressions and functionality on x86_64 and ARM64.
>>>
>>> Signed-off-by: Tony Camuso <tcamuso@redhat.com>
>>> ---
>>>   drivers/char/ipmi/ipmi_si_intf.c | 73 
>>> ----------------------------------------
>>>   1 file changed, 73 deletions(-)
>>>
>>> diff --git a/drivers/char/ipmi/ipmi_si_intf.c 
>>> b/drivers/char/ipmi/ipmi_si_intf.c
>>> index 7b1c412..a112c01 100644
>>> --- a/drivers/char/ipmi/ipmi_si_intf.c
>>> +++ b/drivers/char/ipmi/ipmi_si_intf.c
>>> @@ -1322,7 +1322,6 @@ static bool          si_tryplatform = true;
>>>   #ifdef CONFIG_PCI
>>>   static bool          si_trypci = true;
>>>   #endif
>>> -static bool          si_trydefaults = 
>>> IS_ENABLED(CONFIG_IPMI_SI_PROBE_DEFAULTS);
>>>   static char          *si_type[SI_MAX_PARMS];
>>>   #define MAX_SI_TYPE_STR 30
>>>   static char          si_type_str[MAX_SI_TYPE_STR];
>>> @@ -1371,10 +1370,6 @@ module_param_named(trypci, si_trypci, bool, 0);
>>>   MODULE_PARM_DESC(trypci, "Setting this to zero will disable the"
>>>            " default scan of the interfaces identified via pci");
>>>   #endif
>>> -module_param_named(trydefaults, si_trydefaults, bool, 0);
>>> -MODULE_PARM_DESC(trydefaults, "Setting this to 'false' will disable 
>>> the"
>>> -         " default scan of the KCS and SMIC interface at the standard"
>>> -         " address");
>>>   module_param_string(type, si_type_str, MAX_SI_TYPE_STR, 0);
>>>   MODULE_PARM_DESC(type, "Defines the type of each interface, each"
>>>            " interface separated by commas.  The types are 'kcs',"
>>> @@ -3461,62 +3456,6 @@ static inline void 
>>> wait_for_timer_and_thread(struct smi_info *smi_info)
>>>           del_timer_sync(&smi_info->si_timer);
>>>   }
>>>   -static const struct ipmi_default_vals
>>> -{
>>> -    const int type;
>>> -    const int port;
>>> -} ipmi_defaults[] =
>>> -{
>>> -    { .type = SI_KCS, .port = 0xca2 },
>>> -    { .type = SI_SMIC, .port = 0xca9 },
>>> -    { .type = SI_BT, .port = 0xe4 },
>>> -    { .port = 0 }
>>> -};
>>> -
>>> -static void default_find_bmc(void)
>>> -{
>>> -    struct smi_info *info;
>>> -    int             i;
>>> -
>>> -    for (i = 0; ; i++) {
>>> -        if (!ipmi_defaults[i].port)
>>> -            break;
>>> -#ifdef CONFIG_PPC
>>> -        if (check_legacy_ioport(ipmi_defaults[i].port))
>>> -            continue;
>>> -#endif
>>> -        info = smi_info_alloc();
>>> -        if (!info)
>>> -            return;
>>> -
>>> -        info->addr_source = SI_DEFAULT;
>>> -
>>> -        info->si_type = ipmi_defaults[i].type;
>>> -        info->io_setup = port_setup;
>>> -        info->io.addr_data = ipmi_defaults[i].port;
>>> -        info->io.addr_type = IPMI_IO_ADDR_SPACE;
>>> -
>>> -        info->io.addr = NULL;
>>> -        info->io.regspacing = DEFAULT_REGSPACING;
>>> -        info->io.regsize = DEFAULT_REGSPACING;
>>> -        info->io.regshift = 0;
>>> -
>>> -        if (add_smi(info) == 0) {
>>> -            if ((try_smi_init(info)) == 0) {
>>> -                /* Found one... */
>>> -                printk(KERN_INFO PFX "Found default %s"
>>> -                " state machine at %s address 0x%lx\n",
>>> -                si_to_str[info->si_type],
>>> -                addr_space_to_str[info->io.addr_type],
>>> -                info->io.addr_data);
>>> -            } else
>>> -                cleanup_one_si(info);
>>> -        } else {
>>> -            kfree(info);
>>> -        }
>>> -    }
>>> -}
>>> -
>>>   static int is_new_interface(struct smi_info *info)
>>>   {
>>>       struct smi_info *e;
>>> @@ -3844,8 +3783,6 @@ static int init_ipmi_si(void)
>>>   #ifdef CONFIG_PARISC
>>>       register_parisc_driver(&ipmi_parisc_driver);
>>>       parisc_registered = true;
>>> -    /* poking PC IO addresses will crash machine, don't do it */
>>> -    si_trydefaults = 0;
>>>   #endif
>>>         /* We prefer devices with interrupts, but in the case of a 
>>> machine
>>> @@ -3885,16 +3822,6 @@ static int init_ipmi_si(void)
>>>       if (type)
>>>           return 0;
>>>   -    if (si_trydefaults) {
>>> -        mutex_lock(&smi_infos_lock);
>>> -        if (list_empty(&smi_infos)) {
>>> -            /* No BMC was found, try defaults. */
>>> -            mutex_unlock(&smi_infos_lock);
>>> -            default_find_bmc();
>>> -        } else
>>> -            mutex_unlock(&smi_infos_lock);
>>> -    }
>>> -
>>>       mutex_lock(&smi_infos_lock);
>>>       if (unload_when_empty && list_empty(&smi_infos)) {
>>>           mutex_unlock(&smi_infos_lock);
>>
>

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

* Re: [PATCH 1/1] ipmi: remove trydefaults parameter and default init
  2016-06-28 12:11     ` Corey Minyard
@ 2016-06-28 12:14       ` Tony Camuso
  0 siblings, 0 replies; 5+ messages in thread
From: Tony Camuso @ 2016-06-28 12:14 UTC (permalink / raw)
  To: minyard, openipmi-developer; +Cc: linux-kernel

On 06/28/2016 08:11 AM, Corey Minyard wrote:
> On 06/28/2016 05:14 AM, Tony Camuso wrote:
>> On 06/27/2016 09:34 PM, Corey Minyard wrote:
>>> Queued for 2.18, if that is ok.
>>>
>>> Thanks,
>>>
>>> -corey
>>
>> Yes, as long as there's enough time to shake it out before it's merged
>> with Linus. I've done some testing on a couple archs, and I'll do more
>> on some others as the opportunity arises.
>>
>
> It's in linux-next, hopefully that provides enough shaking out.
>
> -corey

That should suffice.

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

end of thread, other threads:[~2016-06-28 12:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-22 18:22 [PATCH 1/1] ipmi: remove trydefaults parameter and default init Tony Camuso
2016-06-28  1:34 ` Corey Minyard
2016-06-28 10:14   ` Tony Camuso
2016-06-28 12:11     ` Corey Minyard
2016-06-28 12:14       ` Tony Camuso

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).