Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 314000
b: refs/heads/master
c: fdbfff7
h: refs/heads/master
v: v3
  • Loading branch information
Stanislav Yakovlev authored and John W. Linville committed Jun 5, 2012
1 parent a001e5c commit 86dd747
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 7 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: 605b73af3273336b2465962d99a937069710e104
refs/heads/master: fdbfff73408f99799724f583cbc2a0ce3263c6a7
23 changes: 17 additions & 6 deletions trunk/drivers/net/wireless/ipw2x00/ipw2200.c
Original file line number Diff line number Diff line change
Expand Up @@ -2701,6 +2701,20 @@ static void eeprom_parse_mac(struct ipw_priv *priv, u8 * mac)
memcpy(mac, &priv->eeprom[EEPROM_MAC_ADDRESS], 6);
}

static void ipw_read_eeprom(struct ipw_priv *priv)
{
int i;
__le16 *eeprom = (__le16 *) priv->eeprom;

IPW_DEBUG_TRACE(">>\n");

/* read entire contents of eeprom into private buffer */
for (i = 0; i < 128; i++)
eeprom[i] = cpu_to_le16(eeprom_read_u16(priv, (u8) i));

IPW_DEBUG_TRACE("<<\n");
}

/*
* Either the device driver (i.e. the host) or the firmware can
* load eeprom data into the designated region in SRAM. If neither
Expand All @@ -2712,14 +2726,9 @@ static void eeprom_parse_mac(struct ipw_priv *priv, u8 * mac)
static void ipw_eeprom_init_sram(struct ipw_priv *priv)
{
int i;
__le16 *eeprom = (__le16 *) priv->eeprom;

IPW_DEBUG_TRACE(">>\n");

/* read entire contents of eeprom into private buffer */
for (i = 0; i < 128; i++)
eeprom[i] = cpu_to_le16(eeprom_read_u16(priv, (u8) i));

/*
If the data looks correct, then copy it to our private
copy. Otherwise let the firmware know to perform the operation
Expand Down Expand Up @@ -3643,8 +3652,10 @@ static int ipw_load(struct ipw_priv *priv)
/* ack fw init done interrupt */
ipw_write32(priv, IPW_INTA_RW, IPW_INTA_BIT_FW_INITIALIZATION_DONE);

/* read eeprom data and initialize the eeprom region of sram */
/* read eeprom data */
priv->eeprom_delay = 1;
ipw_read_eeprom(priv);
/* initialize the eeprom region of sram */
ipw_eeprom_init_sram(priv);

/* enable interrupts */
Expand Down

0 comments on commit 86dd747

Please sign in to comment.