X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=ssb_sprom%2Fssb_sprom.c;h=f03a4d73c4514faeb1a709a2b47cc2f9166038f5;hb=45aa3bd23d40192dd9f0354c3c30e40422362c2e;hp=2b05e9feba3e1bf5e1aebcd8c12d99f07dc70605;hpb=05c2c7589d1ad5c96c0f7fa9c89e018b2e8490e2;p=b43-tools.git diff --git a/ssb_sprom/ssb_sprom.c b/ssb_sprom/ssb_sprom.c index 2b05e9f..f03a4d7 100644 --- a/ssb_sprom/ssb_sprom.c +++ b/ssb_sprom/ssb_sprom.c @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to - the Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor, + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ @@ -293,10 +293,16 @@ static int modify_value(uint8_t *sprom, sprom[SPROM_BOARDREV + 1] |= (1 << 5); break; case VALUE_ANTGA: - sprom[SPROM_ANTENNA_GAIN + 0] = (v & 0xFF); + if (sprom_rev != 4) + sprom[SPROM_ANTENNA_GAIN + 1] = (v & 0xFF); + else + sprom[SPROM4_ANTENNA_GAIN + 1] = (v & 0xFF); break; case VALUE_ANTGBG: - sprom[SPROM_ANTENNA_GAIN + 1] = (v & 0xFF); + if (sprom_rev != 4) + sprom[SPROM_ANTENNA_GAIN] = (v & 0xFF); + else + sprom[SPROM4_ANTENNA_GAIN] = (v & 0xFF); break; case VALUE_PA0B0: sprom[SPROM_PA0B0 + 0] = (v & 0x00FF); @@ -398,7 +404,7 @@ static void display_value(const uint8_t *sprom, value = sprom[offset]; break; case VALUE_SUBP: - desc = "Subsytem product ID"; + desc = "Subsystem product ID"; if (sprom_rev == 4) offset = SPROM4_SUBP; else @@ -574,7 +580,7 @@ static void display_value(const uint8_t *sprom, case VALUE_ANTGA: if (sprom_rev != 4) { desc = "A PHY antenna gain"; - offset = SPROM_ANTENNA_GAIN + 1; + offset = SPROM_ANTENNA_GAIN; } else { desc = "Antenna 1 Gain"; offset = SPROM4_ANTENNA_GAIN; @@ -937,7 +943,7 @@ static void print_usage(int argc, char *argv[]) prdata(" -g|--rawget OFF Get a value at a byte-OFFset\n"); prdata("\n"); prdata("Predefined values (for displaying (GET) or modification):\n"); - prdata(" --subp [0xFFFF] Subsytem product ID for PCI\n"); + prdata(" --subp [0xFFFF] Subsystem product ID for PCI\n"); prdata(" --subv [0xFFFF] Subsystem vendor ID for PCI\n"); prdata(" --ppid [0xFFFF] Product ID for PCI\n"); prdata(" --bflhi [0xFFFF] High 16 bits of boardflags (only if spromversion > 1)\n"); @@ -1016,12 +1022,12 @@ static int do_cmp_arg(char **argv, int *pos, } if (strcmp(arg, template) == 0) { if (param) { - /* Skip the parameter on the next iteration. */ - (*pos)++; if (*param == 0) { prerror("%s needs a parameter\n", arg); return ARG_ERROR; } + /* Skip the parameter on the next iteration. */ + (*pos)++; } return ARG_MATCH; } @@ -1511,7 +1517,8 @@ static int parse_args(int argc, char *argv[]) if (err) goto error; } else { - prerror("Unrecognized argument: %s\n", argv[i]); + if (!parse_err) + prerror("Unrecognized argument: %s\n", argv[i]); goto out_usage; } if (parse_err)