staging: bcm2708_vchiq: fix return value check in vchiq_init_state()
authorWei Yongjun <weiyongjun1@huawei.com>
Mon, 17 Oct 2016 15:05:36 +0000 (15:05 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 25 Oct 2016 07:57:24 +0000 (09:57 +0200)
In case of error, the function kthread_create() returns ERR_PTR() and
never returns NULL. The NULL test in the return value check should be
replaced with IS_ERR().

Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c

index e29262971b025f2cf862dae3d60cebe7d9ec9c10..c58f5cb16318a44bdc1e0fbe08df3d131f40bb43 100644 (file)
@@ -2440,7 +2440,7 @@ vchiq_init_state(VCHIQ_STATE_T *state, VCHIQ_SLOT_ZERO_T *slot_zero,
                (void *)state,
                threadname);
 
-       if (state->slot_handler_thread == NULL) {
+       if (IS_ERR(state->slot_handler_thread)) {
                vchiq_loud_error_header();
                vchiq_loud_error("couldn't create thread %s", threadname);
                vchiq_loud_error_footer();
@@ -2453,7 +2453,7 @@ vchiq_init_state(VCHIQ_STATE_T *state, VCHIQ_SLOT_ZERO_T *slot_zero,
        state->recycle_thread = kthread_create(&recycle_func,
                (void *)state,
                threadname);
-       if (state->recycle_thread == NULL) {
+       if (IS_ERR(state->recycle_thread)) {
                vchiq_loud_error_header();
                vchiq_loud_error("couldn't create thread %s", threadname);
                vchiq_loud_error_footer();
@@ -2466,7 +2466,7 @@ vchiq_init_state(VCHIQ_STATE_T *state, VCHIQ_SLOT_ZERO_T *slot_zero,
        state->sync_thread = kthread_create(&sync_func,
                (void *)state,
                threadname);
-       if (state->sync_thread == NULL) {
+       if (IS_ERR(state->sync_thread)) {
                vchiq_loud_error_header();
                vchiq_loud_error("couldn't create thread %s", threadname);
                vchiq_loud_error_footer();