dlm: create_workqueue() doesn't return ERR_PTR
Subsystems (2)
PATCH 1/1 dlm: create_workqueue() doesn't return ERR_PTR
The code was checking for IS_ERR() but create_workqueue() and friends return NULL on error.
Signed-off-by Dan Carpenter <[email protected]>
fs/dlm/lowcomms.c +6 -9
@@ -1430,20 +1430,17 @@ static void work_stop(void)static int work_start (void ) { -int error; recv_workqueue =create_workqueue ("dlm_recv" ); - error =IS_ERR (recv_workqueue); -if (error) { -log_print ("can't start dlm_recv %d" , error); -return error; +if (!recv_workqueue) { +log_print ("can't start dlm_recv" ); +return -ENOMEM ; } send_workqueue =create_singlethread_workqueue ("dlm_send" ); - error =IS_ERR (send_workqueue); -if (error) { -log_print ("can't start dlm_send %d" , error); +if (!send_workqueue) { +log_print ("can't start dlm_send" );destroy_workqueue (recv_workqueue); -return error; +return -ENOMEM ; }return 0 ;