Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 259736
b: refs/heads/master
c: fb10e59
h: refs/heads/master
v: v3
  • Loading branch information
Arend van Spriel authored and Greg Kroah-Hartman committed Jul 5, 2011
1 parent 83bef56 commit 7bf2a2c
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 50 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: 579c83f5059b62db0b4eeae3b135f665b13e8a18
refs/heads/master: fb10e59111870a51f0eb7bcc046b6b7eb39dfa3e
67 changes: 18 additions & 49 deletions trunk/drivers/staging/brcm80211/brcmsmac/srom.c
Original file line number Diff line number Diff line change
Expand Up @@ -1212,14 +1212,10 @@ static int initvars_srom_pci(struct si_pub *sih, void *curmap, char **vars,
u32 sr;
varbuf_t b;
char *vp, *base = NULL;
bool flash = false;
int err = 0;

/*
* Apply CRC over SROM content regardless SROM is present or not,
* and use variable <devpath>sromrev's existence in flash to decide
* if we should return an error when CRC fails or read SROM variables
* from flash.
* Apply CRC over SROM content regardless SROM is present or not.
*/
srom = kmalloc(SROM_MAX, GFP_ATOMIC);
if (!srom)
Expand Down Expand Up @@ -1265,60 +1261,33 @@ static int initvars_srom_pci(struct si_pub *sih, void *curmap, char **vars,
err = 1;
#endif

/*
* We want internal/wltest driver to come up with default
* sromvars so we can program a blank SPROM/OTP.
*/
if (err) {
char *value;
u32 val;
val = 0;

value = ai_getdevpathvar(sih, "sromrev");
if (value) {
sromrev = (u8) simple_strtoul(value, NULL, 0);
flash = true;
goto varscont;
}
if (!err) {
/* Bitmask for the sromrev */
sr = 1 << sromrev;

value = ai_getnvramflvar(sih, "sromrev");
if (value) {
err = 0;
/* srom version check: Current valid versions: 1, 2, 3, 4, 5, 8, 9 */
if ((sr & 0x33e) == 0) {
err = -2;
goto errout;
}

{
err = -1;
base = kmalloc(MAXSZ_NVRAM_VARS, GFP_ATOMIC);
if (!base) {
err = -2;
goto errout;
}
}

varscont:
/* Bitmask for the sromrev */
sr = 1 << sromrev;

/* srom version check: Current valid versions: 1, 2, 3, 4, 5, 8, 9 */
if ((sr & 0x33e) == 0) {
err = -2;
goto errout;
}

base = kmalloc(MAXSZ_NVRAM_VARS, GFP_ATOMIC);
if (!base) {
err = -2;
goto errout;
}
varbuf_init(&b, base, MAXSZ_NVRAM_VARS);

varbuf_init(&b, base, MAXSZ_NVRAM_VARS);
/* parse SROM into name=value pairs. */
_initvars_srom_pci(sromrev, srom, 0, &b);

/* parse SROM into name=value pairs. */
_initvars_srom_pci(sromrev, srom, 0, &b);
/* final nullbyte terminator */
vp = b.buf;
*vp++ = '\0';

/* final nullbyte terminator */
vp = b.buf;
*vp++ = '\0';

err = initvars_table(base, vp, vars, count);
err = initvars_table(base, vp, vars, count);
}

errout:
if (base)
Expand Down

0 comments on commit 7bf2a2c

Please sign in to comment.