ideapad: uninitialized data in ideapad_acpi_add()
We only initialize the high bits of "cfg". It probably doesn't cause a problem given that this is platform specific code and doesn't have to worry about endianness etc. But it's sort of messy. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
This commit is contained in:
committed by
Matthew Garrett
parent
a1071a5abf
commit
57f9616b79
@@ -694,10 +694,10 @@ MODULE_DEVICE_TABLE(acpi, ideapad_device_ids);
|
|||||||
static int __devinit ideapad_acpi_add(struct acpi_device *adevice)
|
static int __devinit ideapad_acpi_add(struct acpi_device *adevice)
|
||||||
{
|
{
|
||||||
int ret, i;
|
int ret, i;
|
||||||
unsigned long cfg;
|
int cfg;
|
||||||
struct ideapad_private *priv;
|
struct ideapad_private *priv;
|
||||||
|
|
||||||
if (read_method_int(adevice->handle, "_CFG", (int *)&cfg))
|
if (read_method_int(adevice->handle, "_CFG", &cfg))
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
priv = kzalloc(sizeof(*priv), GFP_KERNEL);
|
priv = kzalloc(sizeof(*priv), GFP_KERNEL);
|
||||||
@@ -721,7 +721,7 @@ static int __devinit ideapad_acpi_add(struct acpi_device *adevice)
|
|||||||
goto input_failed;
|
goto input_failed;
|
||||||
|
|
||||||
for (i = 0; i < IDEAPAD_RFKILL_DEV_NUM; i++) {
|
for (i = 0; i < IDEAPAD_RFKILL_DEV_NUM; i++) {
|
||||||
if (test_bit(ideapad_rfk_data[i].cfgbit, &cfg))
|
if (test_bit(ideapad_rfk_data[i].cfgbit, &priv->cfg))
|
||||||
ideapad_register_rfkill(adevice, i);
|
ideapad_register_rfkill(adevice, i);
|
||||||
else
|
else
|
||||||
priv->rfk[i] = NULL;
|
priv->rfk[i] = NULL;
|
||||||
|
Reference in New Issue
Block a user