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:
Corentin Chary 2010-08-24 09:30:46 +02:00 коммит произвёл Matthew Garrett
Родитель b58baecdde
Коммит 23f45c3a76
1 изменённых файлов: 3 добавлений и 3 удалений

Просмотреть файл

@ -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)
{
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 = {
@ -1095,7 +1095,7 @@ static int asus_rfkill_init(struct asus_laptop *asus)
asus->gps_rfkill = rfkill_alloc("asus-gps", &asus->platform_device->dev,
RFKILL_TYPE_GPS,
&asus_gps_rfkill_ops, NULL);
&asus_gps_rfkill_ops, asus);
if (!asus->gps_rfkill)
return -EINVAL;