[PATCH] s390: ccw_device_probe_console return value
The return code of ccw_device_probe_console() is not properly handled. It should only return a valid ccw device pointer or a error value converted by ERR_PTR. Fix the console driver code to check with IS_ERR instead against NULL. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Родитель
3633b0475e
Коммит
600b5d163d
|
@ -21,6 +21,7 @@
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/console.h>
|
#include <linux/console.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
|
#include <linux/err.h>
|
||||||
|
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/bootmem.h>
|
#include <linux/bootmem.h>
|
||||||
|
@ -864,7 +865,7 @@ con3215_init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
cdev = ccw_device_probe_console();
|
cdev = ccw_device_probe_console();
|
||||||
if (!cdev)
|
if (IS_ERR(cdev))
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
raw3215[0] = raw = (struct raw3215_info *)
|
raw3215[0] = raw = (struct raw3215_info *)
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/list.h>
|
#include <linux/list.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
|
#include <linux/err.h>
|
||||||
|
|
||||||
#include <asm/ccwdev.h>
|
#include <asm/ccwdev.h>
|
||||||
#include <asm/cio.h>
|
#include <asm/cio.h>
|
||||||
|
@ -597,7 +598,7 @@ con3270_init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
cdev = ccw_device_probe_console();
|
cdev = ccw_device_probe_console();
|
||||||
if (!cdev)
|
if (IS_ERR(cdev))
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
rp = raw3270_setup_console(cdev);
|
rp = raw3270_setup_console(cdev);
|
||||||
if (IS_ERR(rp))
|
if (IS_ERR(rp))
|
||||||
|
|
|
@ -1012,7 +1012,7 @@ ccw_device_probe_console(void)
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (xchg(&console_cdev_in_use, 1) != 0)
|
if (xchg(&console_cdev_in_use, 1) != 0)
|
||||||
return NULL;
|
return ERR_PTR(-EBUSY);
|
||||||
sch = cio_probe_console();
|
sch = cio_probe_console();
|
||||||
if (IS_ERR(sch)) {
|
if (IS_ERR(sch)) {
|
||||||
console_cdev_in_use = 0;
|
console_cdev_in_use = 0;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче