Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 158849
b: refs/heads/master
c: 44d8dad
h: refs/heads/master
i:
  158847: 3f0657e
v: v3
  • Loading branch information
David Kilroy authored and John W. Linville committed Jul 10, 2009
1 parent 9dbf24b commit f147988
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 25 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a3f47b9c2ada45ffacc8f2b54507221a1ba8eb10
refs/heads/master: 44d8dade8f12ffe5c9b7eddd0512c1548c027a4c
41 changes: 17 additions & 24 deletions trunk/drivers/net/wireless/orinoco/fw.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
*/
#include <linux/kernel.h>
#include <linux/firmware.h>
#include <linux/device.h>

#include "hermes.h"
#include "hermes_dld.h"
Expand Down Expand Up @@ -99,7 +100,7 @@ orinoco_dl_firmware(struct orinoco_private *priv,
const void *end;
const char *firmware;
const char *fw_err;
struct net_device *dev = priv->ndev;
struct device *dev = priv->dev;
int err = 0;

pda = kzalloc(fw->pda_size, GFP_KERNEL);
Expand All @@ -111,21 +112,19 @@ orinoco_dl_firmware(struct orinoco_private *priv,
else
firmware = fw->sta_fw;

printk(KERN_DEBUG "%s: Attempting to download firmware %s\n",
dev->name, firmware);
dev_dbg(dev, "Attempting to download firmware %s\n", firmware);

/* Read current plug data */
err = hermes_read_pda(hw, pda, fw->pda_addr, fw->pda_size, 0);
printk(KERN_DEBUG "%s: Read PDA returned %d\n", dev->name, err);
dev_dbg(dev, "Read PDA returned %d\n", err);
if (err)
goto free;

if (!orinoco_cached_fw_get(priv, false)) {
err = request_firmware(&fw_entry, firmware, priv->dev);

if (err) {
printk(KERN_ERR "%s: Cannot find firmware %s\n",
dev->name, firmware);
dev_err(dev, "Cannot find firmware %s\n", firmware);
err = -ENOENT;
goto free;
}
Expand All @@ -136,16 +135,15 @@ orinoco_dl_firmware(struct orinoco_private *priv,

fw_err = validate_fw(hdr, fw_entry->size);
if (fw_err) {
printk(KERN_WARNING "%s: Invalid firmware image detected (%s). "
"Aborting download\n",
dev->name, fw_err);
dev_warn(dev, "Invalid firmware image detected (%s). "
"Aborting download\n", fw_err);
err = -EINVAL;
goto abort;
}

/* Enable aux port to allow programming */
err = hermesi_program_init(hw, le32_to_cpu(hdr->entry_point));
printk(KERN_DEBUG "%s: Program init returned %d\n", dev->name, err);
dev_dbg(dev, "Program init returned %d\n", err);
if (err != 0)
goto abort;

Expand All @@ -156,7 +154,7 @@ orinoco_dl_firmware(struct orinoco_private *priv,
end = fw_entry->data + fw_entry->size;

err = hermes_program(hw, first_block, end);
printk(KERN_DEBUG "%s: Program returned %d\n", dev->name, err);
dev_dbg(dev, "Program returned %d\n", err);
if (err != 0)
goto abort;

Expand All @@ -167,19 +165,18 @@ orinoco_dl_firmware(struct orinoco_private *priv,

err = hermes_apply_pda_with_defaults(hw, first_block, end, pda,
&pda[fw->pda_size / sizeof(*pda)]);
printk(KERN_DEBUG "%s: Apply PDA returned %d\n", dev->name, err);
dev_dbg(dev, "Apply PDA returned %d\n", err);
if (err)
goto abort;

/* Tell card we've finished */
err = hermesi_program_end(hw);
printk(KERN_DEBUG "%s: Program end returned %d\n", dev->name, err);
dev_dbg(dev, "Program end returned %d\n", err);
if (err != 0)
goto abort;

/* Check if we're running */
printk(KERN_DEBUG "%s: hermes_present returned %d\n",
dev->name, hermes_present(hw));
dev_dbg(dev, "hermes_present returned %d\n", hermes_present(hw));

abort:
/* If we requested the firmware, release it. */
Expand Down Expand Up @@ -282,14 +279,13 @@ static int
symbol_dl_firmware(struct orinoco_private *priv,
const struct fw_info *fw)
{
struct net_device *dev = priv->ndev;
struct device *dev = priv->dev;
int ret;
const struct firmware *fw_entry;

if (!orinoco_cached_fw_get(priv, true)) {
if (request_firmware(&fw_entry, fw->pri_fw, priv->dev) != 0) {
printk(KERN_ERR "%s: Cannot find firmware: %s\n",
dev->name, fw->pri_fw);
dev_err(dev, "Cannot find firmware: %s\n", fw->pri_fw);
return -ENOENT;
}
} else
Expand All @@ -302,15 +298,13 @@ symbol_dl_firmware(struct orinoco_private *priv,
if (!orinoco_cached_fw_get(priv, true))
release_firmware(fw_entry);
if (ret) {
printk(KERN_ERR "%s: Primary firmware download failed\n",
dev->name);
dev_err(dev, "Primary firmware download failed\n");
return ret;
}

if (!orinoco_cached_fw_get(priv, false)) {
if (request_firmware(&fw_entry, fw->sta_fw, priv->dev) != 0) {
printk(KERN_ERR "%s: Cannot find firmware: %s\n",
dev->name, fw->sta_fw);
dev_err(dev, "Cannot find firmware: %s\n", fw->sta_fw);
return -ENOENT;
}
} else
Expand All @@ -322,8 +316,7 @@ symbol_dl_firmware(struct orinoco_private *priv,
if (!orinoco_cached_fw_get(priv, false))
release_firmware(fw_entry);
if (ret) {
printk(KERN_ERR "%s: Secondary firmware download failed\n",
dev->name);
dev_err(dev, "Secondary firmware download failed\n");
}

return ret;
Expand Down

0 comments on commit f147988

Please sign in to comment.