From 88e88e71ac2b634fb606778918e260efc3a9b134 Mon Sep 17 00:00:00 2001 From: Arnd Bergmann Date: Thu, 12 Jan 2006 17:16:41 -0500 Subject: [PATCH] --- yaml --- r: 18785 b: refs/heads/master c: 0d3ea1666f1894a874681fe33e2cb7fee41a0c73 h: refs/heads/master i: 18783: 72a6b55224ad52bf1ed9bf89825601e4b8d6b891 v: v3 --- [refs] | 2 +- trunk/drivers/net/spider_net.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 17d1a147dbc1..0acc90e4a343 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c2e5b352fcefb644959a0c8b1bb2e297f0d4ac3d +refs/heads/master: 0d3ea1666f1894a874681fe33e2cb7fee41a0c73 diff --git a/trunk/drivers/net/spider_net.c b/trunk/drivers/net/spider_net.c index 0d765f1733b5..2154469678b7 100644 --- a/trunk/drivers/net/spider_net.c +++ b/trunk/drivers/net/spider_net.c @@ -1836,7 +1836,7 @@ spider_net_setup_phy(struct spider_net_card *card) * 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 spider_net_card *card, } } + 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_net_card *card) goto out; } - spider_net_download_firmware(card, firmware); - - err = 0; + if (!spider_net_download_firmware(card, firmware)) + err = 0; out: release_firmware(firmware);