1. 26 1月, 2016 2 次提交
    • G
      iwlwifi: mvm: rs: fix TPC statistics handling · 69c7fda4
      Gregory Greenman 提交于
      FW behaviour changed and now updates driver about the used TPC
      reduction in the following cases:
      1. In tx response, which is used mostly for a single frame case
      2. In BA notification
      
      When tx aggregation fails with the initial rate, FW will send
      to the driver BA notification and will try to transmit with the
      next rate, but this time without tx power reduction. Thus, in case
      of a failure with the initial rate, driver will get two BA notifications,
      the first one with reduced tx power as in the LQ command and the second
      one with 0 power reduction.
      
      This patch adapts the TPC statistics according to the description above:
      1. Use BA notifications instead of Tx response
      2. For TPC only, drop the optimization which considers empty BA as one
      MPDU. The reason is that with TPC we want to recover very quickly from
      a bad power reduction and, therefore we'd like the success ratio to get
      an immediate hit when failing to get a BA, so we'd switch back to a
      lower or zero power reduction
      Signed-off-by: NGregory Greenman <gregory.greenman@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      69c7fda4
    • O
      iwlwifi: update support for 3168 series firmware and NVM · ca296c57
      Oren Givon 提交于
      Update the struct which defines the support for 3168 cards.
      Now it will search for a firmware of this format:
      iwlwifi-3168-XX.ucode
      Also, set the minimum version of the ucode to 20.
      Update the minimum NVM version and minimum NVM calibrations
      version of the 3168 series.
      Signed-off-by: NOren Givon <oren.givon@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      ca296c57
  2. 25 1月, 2016 5 次提交
  3. 20 1月, 2016 2 次提交
  4. 19 1月, 2016 1 次提交
  5. 17 1月, 2016 1 次提交
    • M
      include/linux/kernel.h: change abs() macro so it uses consistent return type · 8f57e4d9
      Michal Nazarewicz 提交于
      Rewrite abs() so that its return type does not depend on the
      architecture and no unexpected type conversion happen inside of it.  The
      only conversion is from unsigned to signed type.  char is left as a
      return type but treated as a signed type regradless of it's actual
      signedness.
      
      With the old version, int arguments were promoted to long and depending
      on architecture a long argument might result in s64 or long return type
      (which may or may not be the same).
      
      This came after some back and forth with Nicolas.  The current macro has
      different return type (for the same input type) depending on
      architecture which might be midly iritating.
      
      An alternative version would promote to int like so:
      
      	#define abs(x)	__abs_choose_expr(x, long long,			\
      			__abs_choose_expr(x, long,			\
      			__builtin_choose_expr(				\
      				sizeof(x) <= sizeof(int),		\
      				({ int __x = (x); __x<0?-__x:__x; }),	\
      				((void)0))))
      
      I have no preference but imagine Linus might.  :] Nicolas argument against
      is that promoting to int causes iconsistent behaviour:
      
      	int main(void) {
      		unsigned short a = 0, b = 1, c = a - b;
      		unsigned short d = abs(a - b);
      		unsigned short e = abs(c);
      		printf("%u %u\n", d, e);  // prints: 1 65535
      	}
      
      Then again, no sane person expects consistent behaviour from C integer
      arithmetic.  ;)
      
      Note:
      
        __builtin_types_compatible_p(unsigned char, char) is always false, and
        __builtin_types_compatible_p(signed char, char) is also always false.
      Signed-off-by: NMichal Nazarewicz <mina86@mina86.com>
      Reviewed-by: NNicolas Pitre <nico@linaro.org>
      Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Cc: Wey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8f57e4d9
  6. 14 1月, 2016 1 次提交
    • B
      Revert "mac80211_hwsim: support any address in userspace" · 354210f8
      Bob Copeland 提交于
      This reverts commit cd37a90b.
      
      Different userspace programs interpreted HWSIM_ATTR_ADDR_TRANSMITTER
      and HWSIM_ATTR_ADDR_RECEIVER differently: some expected it to
      be an unchanging hardware address that is tied to the radio despite
      which address is configured on the interface, while others expected
      to be a copy of the address in the frame (the configured address).
      The intent of the original authors is unclear.
      
      The latter interpretation doesn't really work properly with multiple
      vifs and broadcast frames.  Also, as the TA is already in the
      frame, userspace programs can actually support configured addresses
      in the former interpretation by mapping between them and the supplied
      HWSIM_ATTR_ADDR_TRANSMITTER.
      
      So, in the interest of API stability, revert to the previous mode
      of operation and going forward use the former interpretation.
      Signed-off-by: NBob Copeland <me@bobcopeland.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      354210f8
  7. 08 1月, 2016 27 次提交
  8. 07 1月, 2016 1 次提交