AA: iw: sync with trunk r40801
[12.09/openwrt.git] / package / iw / patches / 120-antenna_gain.patch
diff --git a/package/iw/patches/120-antenna_gain.patch b/package/iw/patches/120-antenna_gain.patch
new file mode 100644 (file)
index 0000000..04316ab
--- /dev/null
@@ -0,0 +1,34 @@
+--- a/phy.c
++++ b/phy.c
+@@ -424,3 +424,31 @@ COMMAND(set, antenna, "<bitmap> | all | 
+       NL80211_CMD_SET_WIPHY, 0, CIB_PHY, handle_antenna,
+       "Set a bitmap of allowed antennas to use for TX and RX.\n"
+       "The driver may reject antenna configurations it cannot support.");
++
++static int handle_antenna_gain(struct nl80211_state *state,
++                             struct nl_cb *cb,
++                             struct nl_msg *msg,
++                             int argc, char **argv,
++                             enum id_input id)
++{
++      char *endptr;
++      int dbm;
++
++      /* get the required args */
++      if (argc != 1)
++              return 1;
++
++      dbm = strtol(argv[0], &endptr, 10);
++      if (*endptr)
++              return 2;
++
++      NLA_PUT_U32(msg, NL80211_ATTR_WIPHY_ANTENNA_GAIN, dbm);
++
++      return 0;
++
++ nla_put_failure:
++      return -ENOBUFS;
++}
++COMMAND(set, antenna_gain, "<antenna gain in dBm>",
++      NL80211_CMD_SET_WIPHY, 0, CIB_PHY, handle_antenna_gain,
++      "Specify antenna gain.");