Bluetooth: Re-use kstrtobool_from_user()
Re-use kstrtobool_from_user() instead of open coded variant. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
9960521c44
commit
3bf5e97d7b
3 changed files with 19 additions and 40 deletions
|
@ -76,19 +76,15 @@ static ssize_t dut_mode_write(struct file *file, const char __user *user_buf,
|
|||
{
|
||||
struct hci_dev *hdev = file->private_data;
|
||||
struct sk_buff *skb;
|
||||
char buf[32];
|
||||
size_t buf_size = min(count, (sizeof(buf)-1));
|
||||
bool enable;
|
||||
int err;
|
||||
|
||||
if (!test_bit(HCI_UP, &hdev->flags))
|
||||
return -ENETDOWN;
|
||||
|
||||
if (copy_from_user(buf, user_buf, buf_size))
|
||||
return -EFAULT;
|
||||
|
||||
buf[buf_size] = '\0';
|
||||
if (strtobool(buf, &enable))
|
||||
return -EINVAL;
|
||||
err = kstrtobool_from_user(user_buf, count, &enable);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
if (enable == hci_dev_test_flag(hdev, HCI_DUT_MODE))
|
||||
return -EALREADY;
|
||||
|
@ -135,17 +131,12 @@ static ssize_t vendor_diag_write(struct file *file, const char __user *user_buf,
|
|||
size_t count, loff_t *ppos)
|
||||
{
|
||||
struct hci_dev *hdev = file->private_data;
|
||||
char buf[32];
|
||||
size_t buf_size = min(count, (sizeof(buf)-1));
|
||||
bool enable;
|
||||
int err;
|
||||
|
||||
if (copy_from_user(buf, user_buf, buf_size))
|
||||
return -EFAULT;
|
||||
|
||||
buf[buf_size] = '\0';
|
||||
if (strtobool(buf, &enable))
|
||||
return -EINVAL;
|
||||
err = kstrtobool_from_user(user_buf, count, &enable);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
/* When the diagnostic flags are not persistent and the transport
|
||||
* is not active or in user channel operation, then there is no need
|
||||
|
|
|
@ -47,19 +47,15 @@ static ssize_t __name ## _write(struct file *file, \
|
|||
size_t count, loff_t *ppos) \
|
||||
{ \
|
||||
struct hci_dev *hdev = file->private_data; \
|
||||
char buf[32]; \
|
||||
size_t buf_size = min(count, (sizeof(buf) - 1)); \
|
||||
bool enable; \
|
||||
int err; \
|
||||
\
|
||||
if (test_bit(HCI_UP, &hdev->flags)) \
|
||||
return -EBUSY; \
|
||||
\
|
||||
if (copy_from_user(buf, user_buf, buf_size)) \
|
||||
return -EFAULT; \
|
||||
\
|
||||
buf[buf_size] = '\0'; \
|
||||
if (strtobool(buf, &enable)) \
|
||||
return -EINVAL; \
|
||||
err = kstrtobool_from_user(user_buf, count, &enable); \
|
||||
if (err) \
|
||||
return err; \
|
||||
\
|
||||
if (enable == test_bit(__quirk, &hdev->quirks)) \
|
||||
return -EALREADY; \
|
||||
|
@ -658,19 +654,15 @@ static ssize_t force_static_address_write(struct file *file,
|
|||
size_t count, loff_t *ppos)
|
||||
{
|
||||
struct hci_dev *hdev = file->private_data;
|
||||
char buf[32];
|
||||
size_t buf_size = min(count, (sizeof(buf)-1));
|
||||
bool enable;
|
||||
int err;
|
||||
|
||||
if (test_bit(HCI_UP, &hdev->flags))
|
||||
return -EBUSY;
|
||||
|
||||
if (copy_from_user(buf, user_buf, buf_size))
|
||||
return -EFAULT;
|
||||
|
||||
buf[buf_size] = '\0';
|
||||
if (strtobool(buf, &enable))
|
||||
return -EINVAL;
|
||||
err = kstrtobool_from_user(user_buf, count, &enable);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
if (enable == hci_dev_test_flag(hdev, HCI_FORCE_STATIC_ADDR))
|
||||
return -EALREADY;
|
||||
|
|
|
@ -3315,16 +3315,12 @@ static ssize_t force_bredr_smp_write(struct file *file,
|
|||
size_t count, loff_t *ppos)
|
||||
{
|
||||
struct hci_dev *hdev = file->private_data;
|
||||
char buf[32];
|
||||
size_t buf_size = min(count, (sizeof(buf)-1));
|
||||
bool enable;
|
||||
int err;
|
||||
|
||||
if (copy_from_user(buf, user_buf, buf_size))
|
||||
return -EFAULT;
|
||||
|
||||
buf[buf_size] = '\0';
|
||||
if (strtobool(buf, &enable))
|
||||
return -EINVAL;
|
||||
err = kstrtobool_from_user(user_buf, count, &enable);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
if (enable == hci_dev_test_flag(hdev, HCI_FORCE_BREDR_SMP))
|
||||
return -EALREADY;
|
||||
|
|
Loading…
Reference in a new issue