|
@@ -178,17 +178,17 @@ MODULE_PARM_DESC(pci_clock, "PCI bus clock frequency (in MHz)");
|
|
|
|
|
|
static int ide_set_dev_param_mask(const char *s, const struct kernel_param *kp)
|
|
static int ide_set_dev_param_mask(const char *s, const struct kernel_param *kp)
|
|
{
|
|
{
|
|
- int a, b, i, j = 1;
|
|
|
|
|
|
+ unsigned int a, b, i, j = 1;
|
|
unsigned int *dev_param_mask = (unsigned int *)kp->arg;
|
|
unsigned int *dev_param_mask = (unsigned int *)kp->arg;
|
|
|
|
|
|
/* controller . device (0 or 1) [ : 1 (set) | 0 (clear) ] */
|
|
/* controller . device (0 or 1) [ : 1 (set) | 0 (clear) ] */
|
|
- if (sscanf(s, "%d.%d:%d", &a, &b, &j) != 3 &&
|
|
|
|
- sscanf(s, "%d.%d", &a, &b) != 2)
|
|
|
|
|
|
+ if (sscanf(s, "%u.%u:%u", &a, &b, &j) != 3 &&
|
|
|
|
+ sscanf(s, "%u.%u", &a, &b) != 2)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
|
i = a * MAX_DRIVES + b;
|
|
i = a * MAX_DRIVES + b;
|
|
|
|
|
|
- if (i >= MAX_HWIFS * MAX_DRIVES || j < 0 || j > 1)
|
|
|
|
|
|
+ if (i >= MAX_HWIFS * MAX_DRIVES || j > 1)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
|
if (j)
|
|
if (j)
|
|
@@ -246,17 +246,17 @@ static struct chs_geom ide_disks_chs[MAX_HWIFS * MAX_DRIVES];
|
|
|
|
|
|
static int ide_set_disk_chs(const char *str, struct kernel_param *kp)
|
|
static int ide_set_disk_chs(const char *str, struct kernel_param *kp)
|
|
{
|
|
{
|
|
- int a, b, c = 0, h = 0, s = 0, i, j = 1;
|
|
|
|
|
|
+ unsigned int a, b, c = 0, h = 0, s = 0, i, j = 1;
|
|
|
|
|
|
/* controller . device (0 or 1) : Cylinders , Heads , Sectors */
|
|
/* controller . device (0 or 1) : Cylinders , Heads , Sectors */
|
|
/* controller . device (0 or 1) : 1 (use CHS) | 0 (ignore CHS) */
|
|
/* controller . device (0 or 1) : 1 (use CHS) | 0 (ignore CHS) */
|
|
- if (sscanf(str, "%d.%d:%d,%d,%d", &a, &b, &c, &h, &s) != 5 &&
|
|
|
|
- sscanf(str, "%d.%d:%d", &a, &b, &j) != 3)
|
|
|
|
|
|
+ if (sscanf(str, "%u.%u:%u,%u,%u", &a, &b, &c, &h, &s) != 5 &&
|
|
|
|
+ sscanf(str, "%u.%u:%u", &a, &b, &j) != 3)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
|
i = a * MAX_DRIVES + b;
|
|
i = a * MAX_DRIVES + b;
|
|
|
|
|
|
- if (i >= MAX_HWIFS * MAX_DRIVES || j < 0 || j > 1)
|
|
|
|
|
|
+ if (i >= MAX_HWIFS * MAX_DRIVES || j > 1)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
|
if (c > INT_MAX || h > 255 || s > 255)
|
|
if (c > INT_MAX || h > 255 || s > 255)
|