|
@@ -859,7 +859,10 @@ static ssize_t link_state_store(struct device *dev,
|
|
|
{
|
|
|
struct pci_dev *pdev = to_pci_dev(dev);
|
|
|
struct pcie_link_state *link, *root = pdev->link_state->root;
|
|
|
- u32 val = buf[0] - '0', state = 0;
|
|
|
+ u32 val, state = 0;
|
|
|
+
|
|
|
+ if (kstrtouint(buf, 10, &val))
|
|
|
+ return -EINVAL;
|
|
|
|
|
|
if (aspm_disabled)
|
|
|
return -EPERM;
|
|
@@ -900,15 +903,14 @@ static ssize_t clk_ctl_store(struct device *dev,
|
|
|
size_t n)
|
|
|
{
|
|
|
struct pci_dev *pdev = to_pci_dev(dev);
|
|
|
- int state;
|
|
|
+ bool state;
|
|
|
|
|
|
- if (n < 1)
|
|
|
+ if (strtobool(buf, &state))
|
|
|
return -EINVAL;
|
|
|
- state = buf[0]-'0';
|
|
|
|
|
|
down_read(&pci_bus_sem);
|
|
|
mutex_lock(&aspm_lock);
|
|
|
- pcie_set_clkpm_nocheck(pdev->link_state, !!state);
|
|
|
+ pcie_set_clkpm_nocheck(pdev->link_state, state);
|
|
|
mutex_unlock(&aspm_lock);
|
|
|
up_read(&pci_bus_sem);
|
|
|
|