[PATCH 12/14] spidernet: check if firmware was loaded correctly
Milton Miller
miltonm at bga.com
Thu Dec 8 04:24:21 EST 2005
On Tue Dec 6 14:52:32 EST 2005, Arnd Bergmann wrote:
> Uploading the device firmware may fail if wrong input data
> was provided by the user. This checks for the condition.
>
> From: Jens.Osterkamp at de.ibm.com
> Cc: netdev at vger.kernel.org
> Signed-off-by: Arnd Bergmann <arndb at de.ibm.com>
>
> Index: linux-2.6.15-rc/drivers/net/spider_net.c
> ===================================================================
> --- linux-2.6.15-rc.orig/drivers/net/spider_net.c
> +++ linux-2.6.15-rc/drivers/net/spider_net.c
> @@ -1836,7 +1836,7 @@ spider_net_setup_phy(struct spider_net_c
> * spider_net_download_firmware loads the firmware opened by
> * spider_net_init_firmware into the adapter.
> */
> -static void
> +static int
> spider_net_download_firmware(struct spider_net_card *card,
> const struct firmware *firmware)
> {
> @@ -1857,8 +1857,13 @@ spider_net_download_firmware(struct spid
> }
> }
>
> + if (spider_net_read_reg(card, SPIDER_NET_GSINIT))
> + return -EIO;
> +
> spider_net_write_reg(card, SPIDER_NET_GSINIT,
> SPIDER_NET_RUN_SEQ_VALUE);
> +
> + return 0;
> }
>
> /**
> @@ -1909,9 +1914,8 @@ spider_net_init_firmware(struct spider_n
> goto out;
> }
>
> - spider_net_download_firmware(card, firmware);
> -
> - err = 0;
> + if (!spider_net_download_firmware(card, firmware))
> + err = 0;
Why not assign err to the return of spider_net_download_firmware?
> out:
> release_firmware(firmware);
>
> Index: linux-2.6.15-rc/drivers/net/spider_net.h
> ===================================================================
> --- linux-2.6.15-rc.orig/drivers/net/spider_net.h
> +++ linux-2.6.15-rc/drivers/net/spider_net.h
> @@ -155,7 +155,7 @@ extern char spider_net_driver_name[];
> /* set this first, then the FRAMENUM_VALUE */
> #define SPIDER_NET_GFXFRAMES_VALUE 0x00000000
>
> -#define SPIDER_NET_STOP_SEQ_VALUE 0x00000000
> +#define SPIDER_NET_STOP_SEQ_VALUE 0x007e0000
> #define SPIDER_NET_RUN_SEQ_VALUE 0x0000007e
>
> #define SPIDER_NET_PHY_CTRL_VALUE 0x00040040
>
milton
More information about the Linuxppc64-dev
mailing list