Commit c9f1e6f6 authored by Mattia Dongili's avatar Mattia Dongili Committed by Len Brown

sony-laptop: Make sony_pic_set_wwanpower not take mutexes

For consistency with __sony_pic_set_bluetoothpower, this is also needed
later to allow setting the wwanpower attribute from the resume path and
only lock the mutex once.
Signed-off-by: default avatarMattia Dongili <malattia@linux.it>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent f5acf5e8
...@@ -2001,18 +2001,14 @@ int sony_pic_camera_command(int command, u8 value) ...@@ -2001,18 +2001,14 @@ int sony_pic_camera_command(int command, u8 value)
EXPORT_SYMBOL(sony_pic_camera_command); EXPORT_SYMBOL(sony_pic_camera_command);
/* gprs/edge modem (SZ460N and SZ210P), thanks to Joshua Wise */ /* gprs/edge modem (SZ460N and SZ210P), thanks to Joshua Wise */
static void sony_pic_set_wwanpower(u8 state) static void __sony_pic_set_wwanpower(u8 state)
{ {
state = !!state; state = !!state;
mutex_lock(&spic_dev.lock); if (spic_dev.wwan_power == state)
if (spic_dev.wwan_power == state) {
mutex_unlock(&spic_dev.lock);
return; return;
}
sony_pic_call2(0xB0, state); sony_pic_call2(0xB0, state);
sony_pic_call1(0x82); sony_pic_call1(0x82);
spic_dev.wwan_power = state; spic_dev.wwan_power = state;
mutex_unlock(&spic_dev.lock);
} }
static ssize_t sony_pic_wwanpower_store(struct device *dev, static ssize_t sony_pic_wwanpower_store(struct device *dev,
...@@ -2024,7 +2020,9 @@ static ssize_t sony_pic_wwanpower_store(struct device *dev, ...@@ -2024,7 +2020,9 @@ static ssize_t sony_pic_wwanpower_store(struct device *dev,
return -EINVAL; return -EINVAL;
value = simple_strtoul(buffer, NULL, 10); value = simple_strtoul(buffer, NULL, 10);
sony_pic_set_wwanpower(value); mutex_lock(&spic_dev.lock);
__sony_pic_set_wwanpower(value);
mutex_unlock(&spic_dev.lock);
return count; return count;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment