asus-laptop: fix gps rfkill
The GPS rfkill crappy code. The ops_data argument wasn't set, and was totally misused. The fix have been tested on an Asus R2H. Cc: stable@kernel.org Signed-off-by: Corentin Chary <corentincj@iksaif.net> Signed-off-by: Matthew Garrett <mjg@redhat.com>
This commit is contained in:
committed by
Matthew Garrett
parent
b58baecdde
commit
23f45c3a76
@@ -1066,9 +1066,9 @@ static ssize_t store_gps(struct device *dev, struct device_attribute *attr,
|
|||||||
*/
|
*/
|
||||||
static int asus_gps_rfkill_set(void *data, bool blocked)
|
static int asus_gps_rfkill_set(void *data, bool blocked)
|
||||||
{
|
{
|
||||||
acpi_handle handle = data;
|
struct asus_laptop *asus = data;
|
||||||
|
|
||||||
return asus_gps_switch(handle, !blocked);
|
return asus_gps_switch(asus, !blocked);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct rfkill_ops asus_gps_rfkill_ops = {
|
static const struct rfkill_ops asus_gps_rfkill_ops = {
|
||||||
@@ -1095,7 +1095,7 @@ static int asus_rfkill_init(struct asus_laptop *asus)
|
|||||||
|
|
||||||
asus->gps_rfkill = rfkill_alloc("asus-gps", &asus->platform_device->dev,
|
asus->gps_rfkill = rfkill_alloc("asus-gps", &asus->platform_device->dev,
|
||||||
RFKILL_TYPE_GPS,
|
RFKILL_TYPE_GPS,
|
||||||
&asus_gps_rfkill_ops, NULL);
|
&asus_gps_rfkill_ops, asus);
|
||||||
if (!asus->gps_rfkill)
|
if (!asus->gps_rfkill)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user