mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH] video: ipuv3: imx-pd: Fix crash if node does not contain "timings" property
@ 2016-07-07  7:15 Alexander Shiyan
  2016-07-07  7:28 ` Sascha Hauer
  0 siblings, 1 reply; 2+ messages in thread
From: Alexander Shiyan @ 2016-07-07  7:15 UTC (permalink / raw)
  To: barebox

This patch fix the system crash if DT node does not contain "timings" property.

software interrupt
pc : [<97f31078>]    lr : [<97f3103c>]
sp : 97fefed8  ip : 97fefed0  fp : 00000000
r10: 00000000  r9 : 97fe4000  r8 : 95ff6b40
r7 : 96038024  r6 : 67660005  r5 : 96034f64  r4 : 96038024
r3 : 00000000  r2 : 00000020  r1 : 0000000a  r0 : 00000009
Flags: nZCv  IRQs off  FIQs off  Mode SVC_32
[<97f31078>] (imx_pd_ioctl+0x64/0xa0) from [<97f2dacc>] (vpl_ioctl+0xb0/0xf0)
[<97f2dacc>] (vpl_ioctl+0xb0/0xf0) from [<97f3026c>] (ipufb_probe+0x230/0x2c8)
[<97f3026c>] (ipufb_probe+0x230/0x2c8) from [<97f0d164>] (platform_probe+0x10/0x14)
[<97f0d164>] (platform_probe+0x10/0x14) from [<97f0c9f4>] (device_probe+0x38/0xb0)
[<97f0c9f4>] (device_probe+0x38/0xb0) from [<97f0cab0>] (match.part.1+0x44/0x50)
[<97f0cab0>] (match.part.1+0x44/0x50) from [<97f0cd98>] (register_driver+0x90/0xc8)
[<97f0cd98>] (register_driver+0x90/0xc8) from [<97f00d74>] (start_barebox+0x28/0xf0)
[<97f00d74>] (start_barebox+0x28/0xf0) from [<97f664a0>] (barebox_non_pbl_start+0x12c/0x154)
[<97f664a0>] (barebox_non_pbl_start+0x12c/0x154) from [<97f00004>] (__bare_init_start+0x0/0x10)

[<97f65cd0>] (unwind_backtrace+0x0/0x8c) from [<97f01190>] (panic+0x28/0x38)
[<97f01190>] (panic+0x28/0x38) from [<97f661cc>] (do_exception+0x10/0x14)
[<97f661cc>] (do_exception+0x10/0x14) from [<97f66204>] (do_software_interrupt+0

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
---
 drivers/video/imx-ipu-v3/imx-pd.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/video/imx-ipu-v3/imx-pd.c b/drivers/video/imx-ipu-v3/imx-pd.c
index 12cad8f..50f6de5 100644
--- a/drivers/video/imx-ipu-v3/imx-pd.c
+++ b/drivers/video/imx-ipu-v3/imx-pd.c
@@ -49,6 +49,9 @@ static int imx_pd_ioctl(struct vpl *vpl, unsigned int port,
 		return 0;
 
 	case VPL_GET_VIDEOMODES:
+		if (!imx_pd->timings)
+			return -ENODATA;
+
 		timings = data;
 
 		timings->num_modes   = imx_pd->timings->num_modes;
-- 
2.4.9


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] video: ipuv3: imx-pd: Fix crash if node does not contain "timings" property
  2016-07-07  7:15 [PATCH] video: ipuv3: imx-pd: Fix crash if node does not contain "timings" property Alexander Shiyan
@ 2016-07-07  7:28 ` Sascha Hauer
  0 siblings, 0 replies; 2+ messages in thread
From: Sascha Hauer @ 2016-07-07  7:28 UTC (permalink / raw)
  To: Alexander Shiyan; +Cc: barebox

On Thu, Jul 07, 2016 at 10:15:06AM +0300, Alexander Shiyan wrote:
> This patch fix the system crash if DT node does not contain "timings" property.
> 
> software interrupt
> pc : [<97f31078>]    lr : [<97f3103c>]
> sp : 97fefed8  ip : 97fefed0  fp : 00000000
> r10: 00000000  r9 : 97fe4000  r8 : 95ff6b40
> r7 : 96038024  r6 : 67660005  r5 : 96034f64  r4 : 96038024
> r3 : 00000000  r2 : 00000020  r1 : 0000000a  r0 : 00000009
> Flags: nZCv  IRQs off  FIQs off  Mode SVC_32
> [<97f31078>] (imx_pd_ioctl+0x64/0xa0) from [<97f2dacc>] (vpl_ioctl+0xb0/0xf0)
> [<97f2dacc>] (vpl_ioctl+0xb0/0xf0) from [<97f3026c>] (ipufb_probe+0x230/0x2c8)
> [<97f3026c>] (ipufb_probe+0x230/0x2c8) from [<97f0d164>] (platform_probe+0x10/0x14)
> [<97f0d164>] (platform_probe+0x10/0x14) from [<97f0c9f4>] (device_probe+0x38/0xb0)
> [<97f0c9f4>] (device_probe+0x38/0xb0) from [<97f0cab0>] (match.part.1+0x44/0x50)
> [<97f0cab0>] (match.part.1+0x44/0x50) from [<97f0cd98>] (register_driver+0x90/0xc8)
> [<97f0cd98>] (register_driver+0x90/0xc8) from [<97f00d74>] (start_barebox+0x28/0xf0)
> [<97f00d74>] (start_barebox+0x28/0xf0) from [<97f664a0>] (barebox_non_pbl_start+0x12c/0x154)
> [<97f664a0>] (barebox_non_pbl_start+0x12c/0x154) from [<97f00004>] (__bare_init_start+0x0/0x10)
> 
> [<97f65cd0>] (unwind_backtrace+0x0/0x8c) from [<97f01190>] (panic+0x28/0x38)
> [<97f01190>] (panic+0x28/0x38) from [<97f661cc>] (do_exception+0x10/0x14)
> [<97f661cc>] (do_exception+0x10/0x14) from [<97f66204>] (do_software_interrupt+0
> 
> Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> ---
>  drivers/video/imx-ipu-v3/imx-pd.c | 3 +++
>  1 file changed, 3 insertions(+)

You can squash this into the patch adding parallel display support and
send it to the list. This file is not mainline ;)

Sascha

> 
> diff --git a/drivers/video/imx-ipu-v3/imx-pd.c b/drivers/video/imx-ipu-v3/imx-pd.c
> index 12cad8f..50f6de5 100644
> --- a/drivers/video/imx-ipu-v3/imx-pd.c
> +++ b/drivers/video/imx-ipu-v3/imx-pd.c
> @@ -49,6 +49,9 @@ static int imx_pd_ioctl(struct vpl *vpl, unsigned int port,
>  		return 0;
>  
>  	case VPL_GET_VIDEOMODES:
> +		if (!imx_pd->timings)
> +			return -ENODATA;
> +
>  		timings = data;
>  
>  		timings->num_modes   = imx_pd->timings->num_modes;
> -- 
> 2.4.9
> 
> 
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-07-07  7:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-07  7:15 [PATCH] video: ipuv3: imx-pd: Fix crash if node does not contain "timings" property Alexander Shiyan
2016-07-07  7:28 ` Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox