ipmi_si: use smi_num for init_name
authorTony Camuso <tcamuso@redhat.com>
Mon, 10 Apr 2017 16:22:13 +0000 (12:22 -0400)
committerCorey Minyard <cminyard@mvista.com>
Mon, 10 Apr 2017 17:42:10 +0000 (12:42 -0500)
commit3f724c408a7bcf25609f6a0102b835d5970cadd3
tree018a97b7d1f977fe65204c4780181a0089bb5111
parent7ecaff7733b50da8e02d22be6719069892633c53
ipmi_si: use smi_num for init_name

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.

Tested on a lenovo x3950.

Signed-off-by: Tony Camuso <tcamuso@redhat.com>
There was actually a more general problem, the platform device wasn't
being set correctly, either, and there was a possible (though extremely
unlikely) race on smi_num.  Add locks to clean up the race and use the
proper value for the platform device, too.

Tested on qemu in various configurations.

Signed-off-by: Corey Minyard <cminyard@mvista.com>
drivers/char/ipmi/ipmi_si_intf.c