Messages in this thread | | | Subject | Re: [PATCH] ipmi_si: use smi_num for init_name | From | Corey Minyard <> | Date | Mon, 10 Apr 2017 11:59:48 -0500 |
| |
On 04/10/2017 11:22 AM, Tony Camuso wrote: > Commit 1abf71e moved the creation of new_smi->dev to earlier in the init > sequence in order to provide infrastructure for log printing. > > However, the init_name was created with a hard-coded value of zero. This > presents a problem in systems with more than one interface, producing a > call trace in dmesg. > > To correct the problem, simply use smi_num instead of the hard-coded > value of zero.
Yeah, you are right. And there's more, the platform_device_alloc will also be wrong, which is even worse.
I'll revise your patch a bit...
-corey
> Tested on a lenovo x3950. > > Signed-off-by: Tony Camuso <tcamuso@redhat.com> > --- > drivers/char/ipmi/ipmi_si_intf.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c > index 2a7c425..9d8fc51 100644 > --- a/drivers/char/ipmi/ipmi_si_intf.c > +++ b/drivers/char/ipmi/ipmi_si_intf.c > @@ -3526,7 +3526,7 @@ static int try_smi_init(struct smi_info *new_smi) > > /* Do this early so it's available for logs. */ > if (!new_smi->dev) { > - init_name = kasprintf(GFP_KERNEL, "ipmi_si.%d", 0); > + init_name = kasprintf(GFP_KERNEL, "ipmi_si.%d", smi_num); > > /* > * If we don't already have a device from something
| |