From: Mattijs Korpershoek <mkorpershoek@kernel.org>
To: Ye Li <ye.li@nxp.com>,
lukma@denx.de, mkorpershoek@kernel.org, festevam@gmail.com,
u-boot@lists.denx.de, peng.fan@nxp.com
Cc: uboot-imx@nxp.com, ye.li@oss.nxp.com
Subject: Re: [PATCH] usb: f_sdp: handle the spl load function failure
Date: Tue, 16 Jun 2026 10:44:40 +0200 [thread overview]
Message-ID: <87o6haho1z.fsf@kernel.org> (raw)
In-Reply-To: <20260522072705.1156220-1-ye.li@nxp.com>
Hi Ye,
Thank you for the patch.
On Fri, May 22, 2026 at 15:27, Ye Li <ye.li@nxp.com> wrote:
> Current implementation does not check the return value of spl load
> function. If the spl load is failed, SPL may meet crash due to
> spl_image variable is not initialized. Add the failure check,
> so SPL can print and stop with error.
>
> Signed-off-by: Ye Li <ye.li@nxp.com>
We could add the following to the commit message:
Fixes: 2c72ead73874 ("usb: gadget: f_sdp: Allow SPL to load and boot FIT via SDP")
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
> ---
> drivers/usb/gadget/f_sdp.c | 16 +++++++++++++---
> 1 file changed, 13 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/usb/gadget/f_sdp.c b/drivers/usb/gadget/f_sdp.c
> index f72e27028b7..cd2c282247a 100644
> --- a/drivers/usb/gadget/f_sdp.c
> +++ b/drivers/usb/gadget/f_sdp.c
> @@ -75,6 +75,7 @@ struct hid_report {
> #define SDP_HID_PACKET_SIZE_EP1 1024
>
> #define SDP_EXIT 1
> +#define SDP_FAIL 2
>
> struct sdp_command {
> u16 cmd;
> @@ -840,11 +841,14 @@ static int sdp_handle_in_ep(struct spl_image_info *spl_image,
> #ifdef CONFIG_SPL_LOAD_FIT
> if (image_get_magic(header) == FDT_MAGIC) {
> struct spl_load_info load;
> + int ret;
>
> debug("Found FIT\n");
> spl_load_init(&load, sdp_load_read, header, 1);
> - spl_load_simple_fit(spl_image, &load, 0,
> - header);
> + ret = spl_load_simple_fit(spl_image, &load, 0,
> + header);
> + if (ret)
> + return SDP_FAIL;
>
> return SDP_EXIT;
> }
> @@ -852,9 +856,13 @@ static int sdp_handle_in_ep(struct spl_image_info *spl_image,
> if (IS_ENABLED(CONFIG_SPL_LOAD_IMX_CONTAINER) &&
> valid_container_hdr((void *)header)) {
> struct spl_load_info load;
> + int ret;
>
> spl_load_init(&load, sdp_load_read, header, 1);
> - spl_load_imx_container(spl_image, &load, 0);
> + ret = spl_load_imx_container(spl_image, &load, 0);
> + if (ret)
> + return SDP_FAIL;
> +
> return SDP_EXIT;
> }
>
> @@ -924,6 +932,8 @@ int spl_sdp_handle(struct udevice *udc, struct spl_image_info *spl_image,
>
> if (flag == SDP_EXIT)
> return 0;
> + else if (flag == SDP_FAIL)
> + return -EIO;
>
> schedule();
> dm_usb_gadget_handle_interrupts(udc);
> --
> 2.37.1
prev parent reply other threads:[~2026-06-16 8:44 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-22 7:27 [PATCH] usb: f_sdp: handle the spl load function failure Ye Li
2026-06-16 8:44 ` Mattijs Korpershoek [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87o6haho1z.fsf@kernel.org \
--to=mkorpershoek@kernel.org \
--cc=festevam@gmail.com \
--cc=lukma@denx.de \
--cc=peng.fan@nxp.com \
--cc=u-boot@lists.denx.de \
--cc=uboot-imx@nxp.com \
--cc=ye.li@nxp.com \
--cc=ye.li@oss.nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.