|
@@ -1479,8 +1479,9 @@ cleanup:
|
|
static int __init calgary_parse_options(char *p)
|
|
static int __init calgary_parse_options(char *p)
|
|
{
|
|
{
|
|
unsigned int bridge;
|
|
unsigned int bridge;
|
|
|
|
+ unsigned long val;
|
|
size_t len;
|
|
size_t len;
|
|
- char* endp;
|
|
|
|
|
|
+ ssize_t ret;
|
|
|
|
|
|
while (*p) {
|
|
while (*p) {
|
|
if (!strncmp(p, "64k", 3))
|
|
if (!strncmp(p, "64k", 3))
|
|
@@ -1511,10 +1512,11 @@ static int __init calgary_parse_options(char *p)
|
|
++p;
|
|
++p;
|
|
if (*p == '\0')
|
|
if (*p == '\0')
|
|
break;
|
|
break;
|
|
- bridge = simple_strtoul(p, &endp, 0);
|
|
|
|
- if (p == endp)
|
|
|
|
|
|
+ ret = kstrtoul(p, 0, &val);
|
|
|
|
+ if (ret)
|
|
break;
|
|
break;
|
|
|
|
|
|
|
|
+ bridge = val;
|
|
if (bridge < MAX_PHB_BUS_NUM) {
|
|
if (bridge < MAX_PHB_BUS_NUM) {
|
|
printk(KERN_INFO "Calgary: disabling "
|
|
printk(KERN_INFO "Calgary: disabling "
|
|
"translation for PHB %#x\n", bridge);
|
|
"translation for PHB %#x\n", bridge);
|