From mboxrd@z Thu Jan 1 00:00:00 1970 From: Detlev Zundel Date: Thu, 18 Mar 2010 10:37:10 +0100 Subject: [U-Boot] soft_spi.c crash while saveenv In-Reply-To: <003001cac61d$93ec2b40$c801a8c0@xeon> (Horst Gall's message of "Wed, 17 Mar 2010 23:02:41 +0100") References: <003001cac61d$93ec2b40$c801a8c0@xeon> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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