[PATCH] m5602: correctly check failed thread creation
Signed-off-by: Insu Yun--- drivers/media/usb/gspca/m5602/m5602_s5k83a.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/media/usb/gspca/m5602/m5602_s5k83a.c b/drivers/media/usb/gspca/m5602/m5602_s5k83a.c index bf6b215..84b2961 100644 --- a/drivers/media/usb/gspca/m5602/m5602_s5k83a.c +++ b/drivers/media/usb/gspca/m5602/m5602_s5k83a.c @@ -221,6 +221,9 @@ int s5k83a_start(struct sd *sd) to assume that there is no better way of accomplishing this */ sd->rotation_thread = kthread_create(rotation_thread_function, sd, "rotation thread"); + if (IS_ERR(sd->rotation_thread)) + return PTR_ERR(sd->rotation_thread); + wake_up_process(sd->rotation_thread); /* Preinit the sensor */ -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] m5602: correctly check failed thread creation
Hi, On 19-10-15 17:24, Insu Yun wrote: Since thread creation can be failed, check return value of kthread_create and handle an error. Signed-off-by: Insu Yun--- drivers/media/usb/gspca/m5602/m5602_s5k83a.c | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/media/usb/gspca/m5602/m5602_s5k83a.c b/drivers/media/usb/gspca/m5602/m5602_s5k83a.c index bf6b215..76b40d1 100644 --- a/drivers/media/usb/gspca/m5602/m5602_s5k83a.c +++ b/drivers/media/usb/gspca/m5602/m5602_s5k83a.c @@ -221,6 +221,10 @@ int s5k83a_start(struct sd *sd) to assume that there is no better way of accomplishing this */ sd->rotation_thread = kthread_create(rotation_thread_function, sd, "rotation thread"); + if (IS_ERR(sd->rotation_thread)) { + err = PTR_ERR(sd->rotation_thread); + goto fail; + } There is no need to use a goto here you can simply directly return the error. wake_up_process(sd->rotation_thread); /* Preinit the sensor */ @@ -234,9 +238,11 @@ int s5k83a_start(struct sd *sd) data[0]); } if (err < 0) - return err; + goto fail; No need for introducing a goto here either. return s5k83a_set_led_indication(sd, 1); +fail: + return err; } int s5k83a_stop(struct sd *sd) Regards, Hans -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] m5602: correctly check failed thread creation
Since thread creation can be failed, check return value of kthread_create and handle an error. Signed-off-by: Insu Yun--- drivers/media/usb/gspca/m5602/m5602_s5k83a.c | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/media/usb/gspca/m5602/m5602_s5k83a.c b/drivers/media/usb/gspca/m5602/m5602_s5k83a.c index bf6b215..76b40d1 100644 --- a/drivers/media/usb/gspca/m5602/m5602_s5k83a.c +++ b/drivers/media/usb/gspca/m5602/m5602_s5k83a.c @@ -221,6 +221,10 @@ int s5k83a_start(struct sd *sd) to assume that there is no better way of accomplishing this */ sd->rotation_thread = kthread_create(rotation_thread_function, sd, "rotation thread"); + if (IS_ERR(sd->rotation_thread)) { + err = PTR_ERR(sd->rotation_thread); + goto fail; + } wake_up_process(sd->rotation_thread); /* Preinit the sensor */ @@ -234,9 +238,11 @@ int s5k83a_start(struct sd *sd) data[0]); } if (err < 0) - return err; + goto fail; return s5k83a_set_led_indication(sd, 1); +fail: + return err; } int s5k83a_stop(struct sd *sd) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html