public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] soft_spi.c crash while saveenv
@ 2010-03-17 22:02 Horst Gall
  2010-03-18  9:37 ` Detlev Zundel
  0 siblings, 1 reply; 2+ messages in thread
From: Horst Gall @ 2010-03-17 22:02 UTC (permalink / raw)
  To: u-boot

Hi Wolfgang,

I used the soft_spi - driver for saving the u-boot-environment.

When I started "saveenv" u-boot hang - no output.
I located the problem in soft_spi.c in function "spi_xfer()".
This function writes every byte received from the spi-device to the pointer 
"dout".
In case of writing to the spi-device the returned bytes are also written to 
the dout-pointer.

The function "spi_flash_cmd()" in "drivers/mtd/spi/spi_flash.c" calls now 
this function with
a NULL-pointer.

I fiexed the problem in soft_spi.c and attached the file.


Best regards
Horst Gall 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: soft_spi.c
Type: application/octet-stream
Size: 4731 bytes
Desc: not available
Url : http://lists.denx.de/pipermail/u-boot/attachments/20100317/34443207/attachment.obj 

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

* [U-Boot] soft_spi.c crash while saveenv
  2010-03-17 22:02 [U-Boot] soft_spi.c crash while saveenv Horst Gall
@ 2010-03-18  9:37 ` Detlev Zundel
  0 siblings, 0 replies; 2+ messages in thread
From: Detlev Zundel @ 2010-03-18  9:37 UTC (permalink / raw)
  To: u-boot

Hello Horst,

> I used the soft_spi - driver for saving the u-boot-environment.
>
> When I started "saveenv" u-boot hang - no output.
> I located the problem in soft_spi.c in function "spi_xfer()".
> This function writes every byte received from the spi-device to the
> pointer "dout".
> In case of writing to the spi-device the returned bytes are also
> written to the dout-pointer.
>
> The function "spi_flash_cmd()" in "drivers/mtd/spi/spi_flash.c" calls
> now this function with
> a NULL-pointer.

Ok, I see that the mtd does a call with NULL pointers, so your fix
actually works for your combination.

On the other hand, this check of parameters is not consistent in the
other drivers.  drivers/spi/mpc8xxx_spi.c does no checks, while
drivers/spi/bfin_spi.c does - I did not bother to check others.

As I'm a friend of passive programming, I would go down your route but
eventually fix all other drivers too.

So can you please cook up a proper patch with a signed-off-by line as
stated in the docs[1]?

Thanks
  Detlev

[1] http://www.denx.de/wiki/U-Boot/Patches

-- 
Die eine Haelfte der Welt lacht ueber die andere, und Narren sind alle.
                                    --- Baltasar Gracian
--
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de

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

end of thread, other threads:[~2010-03-18  9:37 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-17 22:02 [U-Boot] soft_spi.c crash while saveenv Horst Gall
2010-03-18  9:37 ` Detlev Zundel

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