Search Linux Wireless

Re: [PATCH] iwlwifi: mvm: retry init flow if failed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Luca,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on kvalo-wireless-drivers-next/master]
[also build test ERROR on kvalo-wireless-drivers/master v5.15 next-20211110]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Luca-Coelho/iwlwifi-mvm-retry-init-flow-if-failed/20211110-013343
base:   https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git master
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/71e548532c8247fa57b9e952895bba06002eddb0
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Luca-Coelho/iwlwifi-mvm-retry-init-flow-if-failed/20211110-013343
        git checkout 71e548532c8247fa57b9e952895bba06002eddb0
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

   drivers/net/wireless/intel/iwlwifi/iwl-drv.c: In function '_iwl_op_mode_start':
>> drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1342:13: error: invalid storage class for function '_iwl_op_mode_stop'
    1342 | static void _iwl_op_mode_stop(struct iwl_drv *drv)
         |             ^~~~~~~~~~~~~~~~~
>> drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1342:1: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
    1342 | static void _iwl_op_mode_stop(struct iwl_drv *drv)
         | ^~~~~~
>> drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1362:13: error: invalid storage class for function 'iwl_req_fw_callback'
    1362 | static void iwl_req_fw_callback(const struct firmware *ucode_raw, void *context)
         |             ^~~~~~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1756:1: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
    1756 | int iwl_opmode_register(const char *name, const struct iwl_op_mode_ops *ops)
         | ^~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1780:1: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
    1780 | void iwl_opmode_deregister(const char *name)
         | ^~~~
>> drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1802:19: error: invalid storage class for function 'iwl_drv_init'
    1802 | static int __init iwl_drv_init(void)
         |                   ^~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1802:1: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
    1802 | static int __init iwl_drv_init(void)
         | ^~~~~~
   In file included from arch/arc/include/asm/smp.h:12,
                    from arch/arc/include/asm/cmpxchg.h:13,
                    from arch/arc/include/asm/atomic.h:13,
                    from include/linux/atomic.h:7,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/arc/include/asm/bitops.h:188,
                    from include/linux/bitops.h:33,
                    from include/linux/kernel.h:12,
                    from include/linux/list.h:9,
                    from include/linux/swait.h:5,
                    from include/linux/completion.h:12,
                    from drivers/net/wireless/intel/iwlwifi/iwl-drv.c:7:
>> drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1828:13: error: initializer element is not constant
    1828 | module_init(iwl_drv_init);
         |             ^~~~~~~~~~~~
   include/linux/init.h:250:55: note: in definition of macro '____define_initcall'
     250 |                 __attribute__((__section__(__sec))) = fn;
         |                                                       ^~
   include/linux/init.h:260:9: note: in expansion of macro '__unique_initcall'
     260 |         __unique_initcall(fn, id, __sec, __initcall_id(fn))
         |         ^~~~~~~~~~~~~~~~~
   include/linux/init.h:262:35: note: in expansion of macro '___define_initcall'
     262 | #define __define_initcall(fn, id) ___define_initcall(fn, id, .initcall##id)
         |                                   ^~~~~~~~~~~~~~~~~~
   include/linux/init.h:291:41: note: in expansion of macro '__define_initcall'
     291 | #define device_initcall(fn)             __define_initcall(fn, 6)
         |                                         ^~~~~~~~~~~~~~~~~
   include/linux/init.h:296:24: note: in expansion of macro 'device_initcall'
     296 | #define __initcall(fn) device_initcall(fn)
         |                        ^~~~~~~~~~~~~~~
   include/linux/module.h:88:25: note: in expansion of macro '__initcall'
      88 | #define module_init(x)  __initcall(x);
         |                         ^~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1828:1: note: in expansion of macro 'module_init'
    1828 | module_init(iwl_drv_init);
         | ^~~~~~~~~~~
>> drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1830:20: error: invalid storage class for function 'iwl_drv_exit'
    1830 | static void __exit iwl_drv_exit(void)
         |                    ^~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1830:1: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
    1830 | static void __exit iwl_drv_exit(void)
         | ^~~~~~
   In file included from arch/arc/include/asm/smp.h:12,
                    from arch/arc/include/asm/cmpxchg.h:13,
                    from arch/arc/include/asm/atomic.h:13,
                    from include/linux/atomic.h:7,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/arc/include/asm/bitops.h:188,
                    from include/linux/bitops.h:33,
                    from include/linux/kernel.h:12,
                    from include/linux/list.h:9,
                    from include/linux/swait.h:5,
                    from include/linux/completion.h:12,
                    from drivers/net/wireless/intel/iwlwifi/iwl-drv.c:7:
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1838:13: error: initializer element is not constant
    1838 | module_exit(iwl_drv_exit);
         |             ^~~~~~~~~~~~
   include/linux/init.h:299:57: note: in definition of macro '__exitcall'
     299 |         static exitcall_t __exitcall_##fn __exit_call = fn
         |                                                         ^~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1838:1: note: in expansion of macro 'module_exit'
    1838 | module_exit(iwl_drv_exit);
         | ^~~~~~~~~~~
   In file included from include/linux/module.h:22,
                    from drivers/net/wireless/intel/iwlwifi/iwl-drv.c:10:
>> include/linux/moduleparam.h:409:45: error: invalid storage class for function '__check_debug'
     409 |         static inline type __always_unused *__check_##name(void) { return(p); }
         |                                             ^~~~~~~~
   include/linux/moduleparam.h:436:35: note: in expansion of macro '__param_check'
     436 | #define param_check_uint(name, p) __param_check(name, p, unsigned int)
         |                                   ^~~~~~~~~~~~~
   include/linux/moduleparam.h:150:9: note: in expansion of macro 'param_check_uint'
     150 |         param_check_##type(name, &(value));                                \
         |         ^~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1841:1: note: in expansion of macro 'module_param_named'
    1841 | module_param_named(debug, iwlwifi_mod_params.debug_level, uint, 0644);
         | ^~~~~~~~~~~~~~~~~~
>> include/linux/moduleparam.h:409:9: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
     409 |         static inline type __always_unused *__check_##name(void) { return(p); }
         |         ^~~~~~
   include/linux/moduleparam.h:436:35: note: in expansion of macro '__param_check'
     436 | #define param_check_uint(name, p) __param_check(name, p, unsigned int)
         |                                   ^~~~~~~~~~~~~
   include/linux/moduleparam.h:150:9: note: in expansion of macro 'param_check_uint'
     150 |         param_check_##type(name, &(value));                                \
         |         ^~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1841:1: note: in expansion of macro 'module_param_named'
    1841 | module_param_named(debug, iwlwifi_mod_params.debug_level, uint, 0644);
         | ^~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:289:9: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
     289 |         static const char __param_str_##name[] = prefix #name;          \
         |         ^~~~~~
   include/linux/moduleparam.h:176:9: note: in expansion of macro '__module_param_call'
     176 |         __module_param_call(MODULE_PARAM_PREFIX, name, ops, arg, perm, -1, 0)
         |         ^~~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1841:1: note: in expansion of macro 'module_param_named'
    1841 | module_param_named(debug, iwlwifi_mod_params.debug_level, uint, 0644);
         | ^~~~~~~~~~~~~~~~~~
>> include/linux/moduleparam.h:151:50: error: initializer element is not constant
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |                                                  ^
   include/linux/moduleparam.h:294:61: note: in definition of macro '__module_param_call'
     294 |             VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
         |                                                             ^~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1841:1: note: in expansion of macro 'module_param_named'
    1841 | module_param_named(debug, iwlwifi_mod_params.debug_level, uint, 0644);
         | ^~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:151:50: note: (near initialization for '__param_debug.<anonymous>.arg')
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |                                                  ^
   include/linux/moduleparam.h:294:61: note: in definition of macro '__module_param_call'
     294 |             VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
         |                                                             ^~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1841:1: note: in expansion of macro 'module_param_named'
    1841 | module_param_named(debug, iwlwifi_mod_params.debug_level, uint, 0644);
         | ^~~~~~~~~~~~~~~~~~
>> include/linux/moduleparam.h:409:45: error: invalid storage class for function '__check_swcrypto'
     409 |         static inline type __always_unused *__check_##name(void) { return(p); }
         |                                             ^~~~~~~~
   include/linux/moduleparam.h:429:34: note: in expansion of macro '__param_check'
     429 | #define param_check_int(name, p) __param_check(name, p, int)
         |                                  ^~~~~~~~~~~~~
   include/linux/moduleparam.h:150:9: note: in expansion of macro 'param_check_int'
     150 |         param_check_##type(name, &(value));                                \
         |         ^~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1845:1: note: in expansion of macro 'module_param_named'
    1845 | module_param_named(swcrypto, iwlwifi_mod_params.swcrypto, int, 0444);
         | ^~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:289:9: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
     289 |         static const char __param_str_##name[] = prefix #name;          \
         |         ^~~~~~
   include/linux/moduleparam.h:176:9: note: in expansion of macro '__module_param_call'
     176 |         __module_param_call(MODULE_PARAM_PREFIX, name, ops, arg, perm, -1, 0)
         |         ^~~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1845:1: note: in expansion of macro 'module_param_named'
    1845 | module_param_named(swcrypto, iwlwifi_mod_params.swcrypto, int, 0444);
         | ^~~~~~~~~~~~~~~~~~
>> include/linux/moduleparam.h:151:50: error: initializer element is not constant
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |                                                  ^
   include/linux/moduleparam.h:294:61: note: in definition of macro '__module_param_call'
     294 |             VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
         |                                                             ^~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1845:1: note: in expansion of macro 'module_param_named'
    1845 | module_param_named(swcrypto, iwlwifi_mod_params.swcrypto, int, 0444);
         | ^~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:151:50: note: (near initialization for '__param_swcrypto.<anonymous>.arg')
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |                                                  ^
   include/linux/moduleparam.h:294:61: note: in definition of macro '__module_param_call'
     294 |             VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
         |                                                             ^~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1845:1: note: in expansion of macro 'module_param_named'
    1845 | module_param_named(swcrypto, iwlwifi_mod_params.swcrypto, int, 0444);
         | ^~~~~~~~~~~~~~~~~~
>> include/linux/moduleparam.h:409:45: error: invalid storage class for function '__check_11n_disable'
     409 |         static inline type __always_unused *__check_##name(void) { return(p); }
         |                                             ^~~~~~~~
   include/linux/moduleparam.h:436:35: note: in expansion of macro '__param_check'
     436 | #define param_check_uint(name, p) __param_check(name, p, unsigned int)
         |                                   ^~~~~~~~~~~~~
   include/linux/moduleparam.h:150:9: note: in expansion of macro 'param_check_uint'
     150 |         param_check_##type(name, &(value));                                \
         |         ^~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1847:1: note: in expansion of macro 'module_param_named'
    1847 | module_param_named(11n_disable, iwlwifi_mod_params.disable_11n, uint, 0444);
         | ^~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:289:9: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
     289 |         static const char __param_str_##name[] = prefix #name;          \
         |         ^~~~~~
   include/linux/moduleparam.h:176:9: note: in expansion of macro '__module_param_call'
     176 |         __module_param_call(MODULE_PARAM_PREFIX, name, ops, arg, perm, -1, 0)
         |         ^~~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1847:1: note: in expansion of macro 'module_param_named'
    1847 | module_param_named(11n_disable, iwlwifi_mod_params.disable_11n, uint, 0444);
         | ^~~~~~~~~~~~~~~~~~
>> include/linux/moduleparam.h:151:50: error: initializer element is not constant
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |                                                  ^
   include/linux/moduleparam.h:294:61: note: in definition of macro '__module_param_call'
     294 |             VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
         |                                                             ^~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1847:1: note: in expansion of macro 'module_param_named'
    1847 | module_param_named(11n_disable, iwlwifi_mod_params.disable_11n, uint, 0444);
         | ^~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:151:50: note: (near initialization for '__param_11n_disable.<anonymous>.arg')
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |                                                  ^
   include/linux/moduleparam.h:294:61: note: in definition of macro '__module_param_call'
     294 |             VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
         |                                                             ^~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1847:1: note: in expansion of macro 'module_param_named'
    1847 | module_param_named(11n_disable, iwlwifi_mod_params.disable_11n, uint, 0444);
         | ^~~~~~~~~~~~~~~~~~
>> include/linux/moduleparam.h:409:45: error: invalid storage class for function '__check_amsdu_size'
     409 |         static inline type __always_unused *__check_##name(void) { return(p); }
         |                                             ^~~~~~~~
   include/linux/moduleparam.h:429:34: note: in expansion of macro '__param_check'
     429 | #define param_check_int(name, p) __param_check(name, p, int)
         |                                  ^~~~~~~~~~~~~
   include/linux/moduleparam.h:150:9: note: in expansion of macro 'param_check_int'
     150 |         param_check_##type(name, &(value));                                \
         |         ^~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1850:1: note: in expansion of macro 'module_param_named'
    1850 | module_param_named(amsdu_size, iwlwifi_mod_params.amsdu_size, int, 0444);
         | ^~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:289:9: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
     289 |         static const char __param_str_##name[] = prefix #name;          \
         |         ^~~~~~
   include/linux/moduleparam.h:176:9: note: in expansion of macro '__module_param_call'
     176 |         __module_param_call(MODULE_PARAM_PREFIX, name, ops, arg, perm, -1, 0)
         |         ^~~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1850:1: note: in expansion of macro 'module_param_named'
    1850 | module_param_named(amsdu_size, iwlwifi_mod_params.amsdu_size, int, 0444);
         | ^~~~~~~~~~~~~~~~~~
>> include/linux/moduleparam.h:151:50: error: initializer element is not constant
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |                                                  ^
   include/linux/moduleparam.h:294:61: note: in definition of macro '__module_param_call'
     294 |             VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
         |                                                             ^~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1850:1: note: in expansion of macro 'module_param_named'
    1850 | module_param_named(amsdu_size, iwlwifi_mod_params.amsdu_size, int, 0444);
         | ^~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:151:50: note: (near initialization for '__param_amsdu_size.<anonymous>.arg')
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |                                                  ^
   include/linux/moduleparam.h:294:61: note: in definition of macro '__module_param_call'
     294 |             VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
         |                                                             ^~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1850:1: note: in expansion of macro 'module_param_named'
    1850 | module_param_named(amsdu_size, iwlwifi_mod_params.amsdu_size, int, 0444);
         | ^~~~~~~~~~~~~~~~~~
>> include/linux/moduleparam.h:409:45: error: invalid storage class for function '__check_fw_restart'
     409 |         static inline type __always_unused *__check_##name(void) { return(p); }
         |                                             ^~~~~~~~
   include/linux/moduleparam.h:468:35: note: in expansion of macro '__param_check'
     468 | #define param_check_bool(name, p) __param_check(name, p, bool)
         |                                   ^~~~~~~~~~~~~
   include/linux/moduleparam.h:150:9: note: in expansion of macro 'param_check_bool'
     150 |         param_check_##type(name, &(value));                                \
         |         ^~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1854:1: note: in expansion of macro 'module_param_named'
    1854 | module_param_named(fw_restart, iwlwifi_mod_params.fw_restart, bool, 0444);
         | ^~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:289:9: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
     289 |         static const char __param_str_##name[] = prefix #name;          \
         |         ^~~~~~
   include/linux/moduleparam.h:176:9: note: in expansion of macro '__module_param_call'
     176 |         __module_param_call(MODULE_PARAM_PREFIX, name, ops, arg, perm, -1, 0)
         |         ^~~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1854:1: note: in expansion of macro 'module_param_named'
    1854 | module_param_named(fw_restart, iwlwifi_mod_params.fw_restart, bool, 0444);
         | ^~~~~~~~~~~~~~~~~~
>> include/linux/moduleparam.h:151:50: error: initializer element is not constant
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |                                                  ^
   include/linux/moduleparam.h:294:61: note: in definition of macro '__module_param_call'
     294 |             VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
         |                                                             ^~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1854:1: note: in expansion of macro 'module_param_named'
    1854 | module_param_named(fw_restart, iwlwifi_mod_params.fw_restart, bool, 0444);
         | ^~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:151:50: note: (near initialization for '__param_fw_restart.<anonymous>.arg')
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |                                                  ^
   include/linux/moduleparam.h:294:61: note: in definition of macro '__module_param_call'
     294 |             VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
         |                                                             ^~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1854:1: note: in expansion of macro 'module_param_named'
    1854 | module_param_named(fw_restart, iwlwifi_mod_params.fw_restart, bool, 0444);
         | ^~~~~~~~~~~~~~~~~~
>> include/linux/moduleparam.h:409:45: error: invalid storage class for function '__check_nvm_file'
     409 |         static inline type __always_unused *__check_##name(void) { return(p); }
         |                                             ^~~~~~~~
   include/linux/moduleparam.h:462:36: note: in expansion of macro '__param_check'
     462 | #define param_check_charp(name, p) __param_check(name, p, char *)
         |                                    ^~~~~~~~~~~~~
   include/linux/moduleparam.h:150:9: note: in expansion of macro 'param_check_charp'
     150 |         param_check_##type(name, &(value));                                \
         |         ^~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1857:1: note: in expansion of macro 'module_param_named'
    1857 | module_param_named(nvm_file, iwlwifi_mod_params.nvm_file, charp, 0444);
         | ^~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:289:9: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
     289 |         static const char __param_str_##name[] = prefix #name;          \
         |         ^~~~~~
   include/linux/moduleparam.h:176:9: note: in expansion of macro '__module_param_call'
     176 |         __module_param_call(MODULE_PARAM_PREFIX, name, ops, arg, perm, -1, 0)
         |         ^~~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1857:1: note: in expansion of macro 'module_param_named'
    1857 | module_param_named(nvm_file, iwlwifi_mod_params.nvm_file, charp, 0444);
         | ^~~~~~~~~~~~~~~~~~
>> include/linux/moduleparam.h:151:50: error: initializer element is not constant
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |                                                  ^
   include/linux/moduleparam.h:294:61: note: in definition of macro '__module_param_call'
     294 |             VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
         |                                                             ^~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1857:1: note: in expansion of macro 'module_param_named'
    1857 | module_param_named(nvm_file, iwlwifi_mod_params.nvm_file, charp, 0444);
         | ^~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:151:50: note: (near initialization for '__param_nvm_file.<anonymous>.arg')
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |                                                  ^
   include/linux/moduleparam.h:294:61: note: in definition of macro '__module_param_call'
     294 |             VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
         |                                                             ^~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1857:1: note: in expansion of macro 'module_param_named'
    1857 | module_param_named(nvm_file, iwlwifi_mod_params.nvm_file, charp, 0444);
         | ^~~~~~~~~~~~~~~~~~
>> include/linux/moduleparam.h:409:45: error: invalid storage class for function '__check_uapsd_disable'
     409 |         static inline type __always_unused *__check_##name(void) { return(p); }
         |                                             ^~~~~~~~
   include/linux/moduleparam.h:436:35: note: in expansion of macro '__param_check'
     436 | #define param_check_uint(name, p) __param_check(name, p, unsigned int)
         |                                   ^~~~~~~~~~~~~
   include/linux/moduleparam.h:150:9: note: in expansion of macro 'param_check_uint'
     150 |         param_check_##type(name, &(value));                                \
         |         ^~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1860:1: note: in expansion of macro 'module_param_named'
    1860 | module_param_named(uapsd_disable, iwlwifi_mod_params.uapsd_disable, uint, 0644);
         | ^~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:289:9: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
     289 |         static const char __param_str_##name[] = prefix #name;          \
         |         ^~~~~~
   include/linux/moduleparam.h:176:9: note: in expansion of macro '__module_param_call'
     176 |         __module_param_call(MODULE_PARAM_PREFIX, name, ops, arg, perm, -1, 0)
         |         ^~~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1860:1: note: in expansion of macro 'module_param_named'
    1860 | module_param_named(uapsd_disable, iwlwifi_mod_params.uapsd_disable, uint, 0644);
         | ^~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:151:50: error: initializer element is not constant
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |                                                  ^
   include/linux/moduleparam.h:294:61: note: in definition of macro '__module_param_call'
     294 |             VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
         |                                                             ^~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1860:1: note: in expansion of macro 'module_param_named'
    1860 | module_param_named(uapsd_disable, iwlwifi_mod_params.uapsd_disable, uint, 0644);
         | ^~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:151:50: note: (near initialization for '__param_uapsd_disable.<anonymous>.arg')
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |                                                  ^
   include/linux/moduleparam.h:294:61: note: in definition of macro '__module_param_call'
     294 |             VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
         |                                                             ^~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1860:1: note: in expansion of macro 'module_param_named'
    1860 | module_param_named(uapsd_disable, iwlwifi_mod_params.uapsd_disable, uint, 0644);
         | ^~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:409:45: error: invalid storage class for function '__check_enable_ini'
     409 |         static inline type __always_unused *__check_##name(void) { return(p); }
         |                                             ^~~~~~~~
   include/linux/moduleparam.h:468:35: note: in expansion of macro '__param_check'
     468 | #define param_check_bool(name, p) __param_check(name, p, bool)
         |                                   ^~~~~~~~~~~~~
   include/linux/moduleparam.h:150:9: note: in expansion of macro 'param_check_bool'
     150 |         param_check_##type(name, &(value));                                \
         |         ^~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1863:1: note: in expansion of macro 'module_param_named'
    1863 | module_param_named(enable_ini, iwlwifi_mod_params.enable_ini,
         | ^~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:289:9: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
     289 |         static const char __param_str_##name[] = prefix #name;          \
         |         ^~~~~~
   include/linux/moduleparam.h:176:9: note: in expansion of macro '__module_param_call'
     176 |         __module_param_call(MODULE_PARAM_PREFIX, name, ops, arg, perm, -1, 0)
         |         ^~~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1863:1: note: in expansion of macro 'module_param_named'
    1863 | module_param_named(enable_ini, iwlwifi_mod_params.enable_ini,
         | ^~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:151:50: error: initializer element is not constant
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |                                                  ^
   include/linux/moduleparam.h:294:61: note: in definition of macro '__module_param_call'
     294 |             VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
         |                                                             ^~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1863:1: note: in expansion of macro 'module_param_named'
    1863 | module_param_named(enable_ini, iwlwifi_mod_params.enable_ini,
         | ^~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:151:50: note: (near initialization for '__param_enable_ini.<anonymous>.arg')
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |                                                  ^
   include/linux/moduleparam.h:294:61: note: in definition of macro '__module_param_call'
     294 |             VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
         |                                                             ^~~
   include/linux/moduleparam.h:151:9: note: in expansion of macro 'module_param_cb'
     151 |         module_param_cb(name, &param_ops_##type, &value, perm);            \
         |         ^~~~~~~~~~~~~~~
   drivers/net/wireless/intel/iwlwifi/iwl-drv.c:1863:1: note: in expansion of macro 'module_param_named'
    1863 | module_param_named(enable_ini, iwlwifi_mod_params.enable_ini,
         | ^~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:409:45: error: invalid storage class for function '__check_bt_coex_active'
     409 |         static inline type __always_unused *__check_##name(void) { return(p); }
         |                                             ^~~~~~~~
   include/linux/moduleparam.h:468:35: note: in expansion of macro '__param_check'
     468 | #define param_check_bool(name, p) __param_check(name, p, bool)


vim +/_iwl_op_mode_stop +1342 drivers/net/wireless/intel/iwlwifi/iwl-drv.c

9da987ac2b88b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Meenakshi Venkataraman 2012-07-16  1341  
9da987ac2b88b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Meenakshi Venkataraman 2012-07-16 @1342  static void _iwl_op_mode_stop(struct iwl_drv *drv)
9da987ac2b88b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Meenakshi Venkataraman 2012-07-16  1343  {
9da987ac2b88b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Meenakshi Venkataraman 2012-07-16  1344  	/* op_mode can be NULL if its start failed */
9da987ac2b88b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Meenakshi Venkataraman 2012-07-16  1345  	if (drv->op_mode) {
9da987ac2b88b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Meenakshi Venkataraman 2012-07-16  1346  		iwl_op_mode_stop(drv->op_mode);
9da987ac2b88b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Meenakshi Venkataraman 2012-07-16  1347  		drv->op_mode = NULL;
9da987ac2b88b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Meenakshi Venkataraman 2012-07-16  1348  
9da987ac2b88b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Meenakshi Venkataraman 2012-07-16  1349  #ifdef CONFIG_IWLWIFI_DEBUGFS
9da987ac2b88b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Meenakshi Venkataraman 2012-07-16  1350  		debugfs_remove_recursive(drv->dbgfs_op_mode);
9da987ac2b88b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Meenakshi Venkataraman 2012-07-16  1351  		drv->dbgfs_op_mode = NULL;
9da987ac2b88b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Meenakshi Venkataraman 2012-07-16  1352  #endif
9da987ac2b88b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Meenakshi Venkataraman 2012-07-16  1353  	}
9da987ac2b88b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Meenakshi Venkataraman 2012-07-16  1354  }
9da987ac2b88b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Meenakshi Venkataraman 2012-07-16  1355  
7d4ced86997f69 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Lee Jones              2020-09-10  1356  /*
1c8e11e117c28e drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2012-07-16  1357   * iwl_req_fw_callback - callback when firmware was loaded
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1358   *
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1359   * If loaded successfully, copies the firmware into buffers
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1360   * for the card to fetch (via DMA).
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1361   */
1c8e11e117c28e drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2012-07-16 @1362  static void iwl_req_fw_callback(const struct firmware *ucode_raw, void *context)
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1363  {
965974a631756a drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-06  1364  	struct iwl_drv *drv = context;
965974a631756a drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-06  1365  	struct iwl_fw *fw = &drv->fw;
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1366  	struct iwl_ucode_header *ucode;
cc5f7e39761382 drivers/net/wireless/iwlwifi/iwl-drv.c       Don Fry                2012-05-16  1367  	struct iwlwifi_opmode_table *op;
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1368  	int err;
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1369  	struct iwl_firmware_pieces *pieces;
0c4881ced8d2e3 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Luca Coelho            2016-12-13  1370  	const unsigned int api_max = drv->trans->cfg->ucode_api_max;
0c4881ced8d2e3 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Luca Coelho            2016-12-13  1371  	const unsigned int api_min = drv->trans->cfg->ucode_api_min;
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1372  	size_t trigger_tlv_sz[FW_DBG_TRIGGER_MAX];
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1373  	u32 api_ver;
6dfa8d019cd21d drivers/net/wireless/iwlwifi/iwl-drv.c       David Spinadel         2012-03-10  1374  	int i;
d4b10483223cf1 drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-06-12  1375  	bool load_module = false;
e6eb8ca9e486a8 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben-Ami          2015-08-30  1376  	bool usniffer_images = false;
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1377  
66140adc22aacd drivers/net/wireless/iwlwifi/iwl-drv.c       Luciano Coelho         2013-08-12  1378  	fw->ucode_capa.max_probe_length = IWL_DEFAULT_MAX_PROBE_LENGTH;
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1379  	fw->ucode_capa.standard_phy_calibration_size =
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1380  			IWL_DEFAULT_STANDARD_PHY_CALIBRATE_TBL_SIZE;
762533ba9c0306 drivers/net/wireless/iwlwifi/iwl-drv.c       David Spinadel         2014-06-05  1381  	fw->ucode_capa.n_scan_channels = IWL_DEFAULT_SCAN_CHANNELS;
be9ae34ead42f8 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Nathan Errera          2020-10-08  1382  	fw->ucode_capa.num_stations = IWL_MVM_STATION_COUNT_MAX;
971377e67074a0 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Shahar S Matityahu     2019-01-01  1383  	/* dump all fw memory areas by default */
971377e67074a0 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Shahar S Matityahu     2019-01-01  1384  	fw->dbg.dump_mask = 0xffffffff;
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1385  
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1386  	pieces = kzalloc(sizeof(*pieces), GFP_KERNEL);
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1387  	if (!pieces)
53d515ec677a19 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Johannes Berg          2017-02-28  1388  		goto out_free_fw;
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1389  
9d9b21d1b61647 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Emmanuel Grumbach      2016-03-24  1390  	if (!ucode_raw)
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1391  		goto try_again;
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1392  
2953c393a0a469 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Shahar S Matityahu     2019-03-04  1393  	IWL_DEBUG_FW_INFO(drv, "Loaded firmware file '%s' (%zd bytes).\n",
965974a631756a drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-06  1394  			  drv->firmware_name, ucode_raw->size);
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1395  
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1396  	/* Make sure that we got at least the API version number */
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1397  	if (ucode_raw->size < 4) {
965974a631756a drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-06  1398  		IWL_ERR(drv, "File size way too small!\n");
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1399  		goto try_again;
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1400  	}
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1401  
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1402  	/* Data from ucode file:  header followed by uCode images */
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1403  	ucode = (struct iwl_ucode_header *)ucode_raw->data;
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1404  
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1405  	if (ucode->ver)
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1406  		err = iwl_parse_v1_v2_firmware(drv, ucode_raw, pieces);
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1407  	else
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1408  		err = iwl_parse_tlv_firmware(drv, ucode_raw, pieces,
e6eb8ca9e486a8 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben-Ami          2015-08-30  1409  					     &fw->ucode_capa, &usniffer_images);
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1410  
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1411  	if (err)
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1412  		goto try_again;
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1413  
f0d8f38cd909e0 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Luca Coelho            2016-04-25  1414  	if (fw_has_api(&drv->fw.ucode_capa, IWL_UCODE_TLV_API_NEW_VERSION))
7e1223b50089ab drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-02-03  1415  		api_ver = drv->fw.ucode_ver;
f0d8f38cd909e0 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Luca Coelho            2016-04-25  1416  	else
f0d8f38cd909e0 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Luca Coelho            2016-04-25  1417  		api_ver = IWL_UCODE_API(drv->fw.ucode_ver);
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1418  
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1419  	/*
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1420  	 * api_ver should match the api version forming part of the
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1421  	 * firmware filename ... but we don't check for that and only rely
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1422  	 * on the API version read from firmware header from here on forward
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1423  	 */
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1424  	if (api_ver < api_min || api_ver > api_max) {
965974a631756a drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-06  1425  		IWL_ERR(drv,
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1426  			"Driver unable to support your firmware API. "
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1427  			"Driver supports v%u, firmware is v%u.\n",
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1428  			api_max, api_ver);
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1429  		goto try_again;
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1430  	}
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1431  
4db2c9aeb28762 drivers/net/wireless/iwlwifi/iwl-drv.c       David Spinadel         2012-03-10  1432  	/*
4db2c9aeb28762 drivers/net/wireless/iwlwifi/iwl-drv.c       David Spinadel         2012-03-10  1433  	 * In mvm uCode there is no difference between data and instructions
4db2c9aeb28762 drivers/net/wireless/iwlwifi/iwl-drv.c       David Spinadel         2012-03-10  1434  	 * sections.
4db2c9aeb28762 drivers/net/wireless/iwlwifi/iwl-drv.c       David Spinadel         2012-03-10  1435  	 */
0c4881ced8d2e3 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Luca Coelho            2016-12-13  1436  	if (fw->type == IWL_FW_DVM && validate_sec_sizes(drv, pieces,
0c4881ced8d2e3 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Luca Coelho            2016-12-13  1437  							 drv->trans->cfg))
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1438  		goto try_again;
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1439  
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1440  	/* Allocate ucode buffers for card's bus-master loading ... */
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1441  
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1442  	/* Runtime instructions and 2 copies of data:
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1443  	 * 1) unmodified from disk
1e37f79945b0b8 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Christoph Böhmwalder   2017-09-23  1444  	 * 2) backup cache for save/restore during power-downs
1e37f79945b0b8 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Christoph Böhmwalder   2017-09-23  1445  	 */
6dfa8d019cd21d drivers/net/wireless/iwlwifi/iwl-drv.c       David Spinadel         2012-03-10  1446  	for (i = 0; i < IWL_UCODE_TYPE_MAX; i++)
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1447  		if (iwl_alloc_ucode(drv, pieces, i))
75813bde1f671a drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-05-16  1448  			goto out_free_fw;
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1449  
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1450  	if (pieces->dbg_dest_tlv_init) {
17b809c9b22e34 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Sara Sharon            2018-06-11  1451  		size_t dbg_dest_size = sizeof(*drv->fw.dbg.dest_tlv) +
17b809c9b22e34 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Sara Sharon            2018-06-11  1452  			sizeof(drv->fw.dbg.dest_tlv->reg_ops[0]) *
17b809c9b22e34 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Sara Sharon            2018-06-11  1453  			drv->fw.dbg.n_dest_reg;
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1454  
17b809c9b22e34 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Sara Sharon            2018-06-11  1455  		drv->fw.dbg.dest_tlv = kmalloc(dbg_dest_size, GFP_KERNEL);
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1456  
17b809c9b22e34 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Sara Sharon            2018-06-11  1457  		if (!drv->fw.dbg.dest_tlv)
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1458  			goto out_free_fw;
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1459  
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1460  		if (*pieces->dbg_dest_ver == 0) {
17b809c9b22e34 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Sara Sharon            2018-06-11  1461  			memcpy(drv->fw.dbg.dest_tlv, pieces->dbg_dest_tlv_v1,
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1462  			       dbg_dest_size);
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1463  		} else {
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1464  			struct iwl_fw_dbg_dest_tlv_v1 *dest_tlv =
17b809c9b22e34 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Sara Sharon            2018-06-11  1465  				drv->fw.dbg.dest_tlv;
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1466  
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1467  			dest_tlv->version = pieces->dbg_dest_tlv->version;
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1468  			dest_tlv->monitor_mode =
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1469  				pieces->dbg_dest_tlv->monitor_mode;
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1470  			dest_tlv->size_power =
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1471  				pieces->dbg_dest_tlv->size_power;
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1472  			dest_tlv->wrap_count =
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1473  				pieces->dbg_dest_tlv->wrap_count;
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1474  			dest_tlv->write_ptr_reg =
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1475  				pieces->dbg_dest_tlv->write_ptr_reg;
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1476  			dest_tlv->base_shift =
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1477  				pieces->dbg_dest_tlv->base_shift;
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1478  			memcpy(dest_tlv->reg_ops,
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1479  			       pieces->dbg_dest_tlv->reg_ops,
17b809c9b22e34 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Sara Sharon            2018-06-11  1480  			       sizeof(drv->fw.dbg.dest_tlv->reg_ops[0]) *
17b809c9b22e34 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Sara Sharon            2018-06-11  1481  			       drv->fw.dbg.n_dest_reg);
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1482  
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1483  			/* In version 1 of the destination tlv, which is
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1484  			 * relevant for internal buffer exclusively,
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1485  			 * the base address is part of given with the length
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1486  			 * of the buffer, and the size shift is give instead of
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1487  			 * end shift. We now store these values in base_reg,
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1488  			 * and end shift, and when dumping the data we'll
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1489  			 * manipulate it for extracting both the length and
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1490  			 * base address */
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1491  			dest_tlv->base_reg = pieces->dbg_dest_tlv->cfg_reg;
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1492  			dest_tlv->end_shift =
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1493  				pieces->dbg_dest_tlv->size_shift;
fd527eb5d22936 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben Ami          2017-08-16  1494  		}
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1495  	}
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1496  
17b809c9b22e34 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Sara Sharon            2018-06-11  1497  	for (i = 0; i < ARRAY_SIZE(drv->fw.dbg.conf_tlv); i++) {
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1498  		if (pieces->dbg_conf_tlv[i]) {
17b809c9b22e34 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Sara Sharon            2018-06-11  1499  			drv->fw.dbg.conf_tlv[i] =
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1500  				kmemdup(pieces->dbg_conf_tlv[i],
17b809c9b22e34 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Sara Sharon            2018-06-11  1501  					pieces->dbg_conf_tlv_len[i],
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1502  					GFP_KERNEL);
a176e114ace4cc drivers/net/wireless/intel/iwlwifi/iwl-drv.c Chris Rorvick          2020-04-17  1503  			if (!drv->fw.dbg.conf_tlv[i])
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1504  				goto out_free_fw;
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1505  		}
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1506  	}
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1507  
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1508  	memset(&trigger_tlv_sz, 0xff, sizeof(trigger_tlv_sz));
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1509  
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1510  	trigger_tlv_sz[FW_DBG_TRIGGER_MISSED_BEACONS] =
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1511  		sizeof(struct iwl_fw_dbg_trigger_missed_bcon);
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1512  	trigger_tlv_sz[FW_DBG_TRIGGER_CHANNEL_SWITCH] = 0;
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1513  	trigger_tlv_sz[FW_DBG_TRIGGER_FW_NOTIF] =
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1514  		sizeof(struct iwl_fw_dbg_trigger_cmd);
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1515  	trigger_tlv_sz[FW_DBG_TRIGGER_MLME] =
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1516  		sizeof(struct iwl_fw_dbg_trigger_mlme);
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1517  	trigger_tlv_sz[FW_DBG_TRIGGER_STATS] =
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1518  		sizeof(struct iwl_fw_dbg_trigger_stats);
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1519  	trigger_tlv_sz[FW_DBG_TRIGGER_RSSI] =
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1520  		sizeof(struct iwl_fw_dbg_trigger_low_rssi);
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1521  	trigger_tlv_sz[FW_DBG_TRIGGER_TXQ_TIMERS] =
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1522  		sizeof(struct iwl_fw_dbg_trigger_txq_timer);
874c174eb9950a drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-25  1523  	trigger_tlv_sz[FW_DBG_TRIGGER_TIME_EVENT] =
874c174eb9950a drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-25  1524  		sizeof(struct iwl_fw_dbg_trigger_time_event);
4203263d8302be drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-04-15  1525  	trigger_tlv_sz[FW_DBG_TRIGGER_BA] =
4203263d8302be drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-04-15  1526  		sizeof(struct iwl_fw_dbg_trigger_ba);
1e8f1329aa6767 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben-Ami          2015-08-23  1527  	trigger_tlv_sz[FW_DBG_TRIGGER_TDLS] =
1e8f1329aa6767 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben-Ami          2015-08-23  1528  		sizeof(struct iwl_fw_dbg_trigger_tdls);
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1529  
17b809c9b22e34 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Sara Sharon            2018-06-11  1530  	for (i = 0; i < ARRAY_SIZE(drv->fw.dbg.trigger_tlv); i++) {
d2709ad723ff2a drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-01-29  1531  		if (pieces->dbg_trigger_tlv[i]) {
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1532  			/*
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1533  			 * If the trigger isn't long enough, WARN and exit.
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1534  			 * Someone is trying to debug something and he won't
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1535  			 * be able to catch the bug he is trying to chase.
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1536  			 * We'd better be noisy to be sure he knows what's
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1537  			 * going on.
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1538  			 */
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1539  			if (WARN_ON(pieces->dbg_trigger_tlv_len[i] <
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1540  				    (trigger_tlv_sz[i] +
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1541  				     sizeof(struct iwl_fw_dbg_trigger_tlv))))
2841a2d3a1b4b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-03-19  1542  				goto out_free_fw;
17b809c9b22e34 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Sara Sharon            2018-06-11  1543  			drv->fw.dbg.trigger_tlv_len[i] =
d2709ad723ff2a drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-01-29  1544  				pieces->dbg_trigger_tlv_len[i];
17b809c9b22e34 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Sara Sharon            2018-06-11  1545  			drv->fw.dbg.trigger_tlv[i] =
d2709ad723ff2a drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-01-29  1546  				kmemdup(pieces->dbg_trigger_tlv[i],
17b809c9b22e34 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Sara Sharon            2018-06-11  1547  					drv->fw.dbg.trigger_tlv_len[i],
d2709ad723ff2a drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2015-01-29  1548  					GFP_KERNEL);
17b809c9b22e34 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Sara Sharon            2018-06-11  1549  			if (!drv->fw.dbg.trigger_tlv[i])
a6017b9030f280 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben-Ami          2016-03-14  1550  				goto out_free_fw;
a6017b9030f280 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben-Ami          2016-03-14  1551  		}
a6017b9030f280 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben-Ami          2016-03-14  1552  	}
a6017b9030f280 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Golan Ben-Ami          2016-03-14  1553  
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1554  	/* Now that we can no longer fail, copy information */
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1555  
17b809c9b22e34 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Sara Sharon            2018-06-11  1556  	drv->fw.dbg.mem_tlv = pieces->dbg_mem_tlv;
2ed1e019108252 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Johannes Berg          2016-10-20  1557  	pieces->dbg_mem_tlv = NULL;
17b809c9b22e34 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Sara Sharon            2018-06-11  1558  	drv->fw.dbg.n_mem_tlv = pieces->n_mem_tlv;
2ed1e019108252 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Johannes Berg          2016-10-20  1559  
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1560  	/*
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1561  	 * The (size - 16) / 12 formula is based on the information recorded
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1562  	 * for each event, which is of mode 1 (including timestamp) for all
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1563  	 * new microcodes that include this information.
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1564  	 */
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1565  	fw->init_evtlog_ptr = pieces->init_evtlog_ptr;
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1566  	if (pieces->init_evtlog_size)
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1567  		fw->init_evtlog_size = (pieces->init_evtlog_size - 16)/12;
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1568  	else
0692fe41b36159 drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-06  1569  		fw->init_evtlog_size =
286ca8eb4d0a97 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Luca Coelho            2019-07-12  1570  			drv->trans->trans_cfg->base_params->max_event_log_size;
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1571  	fw->init_errlog_ptr = pieces->init_errlog_ptr;
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1572  	fw->inst_evtlog_ptr = pieces->inst_evtlog_ptr;
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1573  	if (pieces->inst_evtlog_size)
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1574  		fw->inst_evtlog_size = (pieces->inst_evtlog_size - 16)/12;
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1575  	else
0692fe41b36159 drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-06  1576  		fw->inst_evtlog_size =
286ca8eb4d0a97 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Luca Coelho            2019-07-12  1577  			drv->trans->trans_cfg->base_params->max_event_log_size;
490fefebb6db4c drivers/net/wireless/iwlwifi/iwl-drv.c       Liad Kaufman           2014-09-16  1578  	fw->inst_errlog_ptr = pieces->inst_errlog_ptr;
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1579  
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1580  	/*
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1581  	 * figure out the offset of chain noise reset and gain commands
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1582  	 * base on the size of standard phy calibration commands table size
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1583  	 */
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1584  	if (fw->ucode_capa.standard_phy_calibration_size >
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1585  	    IWL_MAX_PHY_CALIBRATE_TBL_SIZE)
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1586  		fw->ucode_capa.standard_phy_calibration_size =
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1587  			IWL_MAX_STANDARD_PHY_CALIBRATE_TBL_SIZE;
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1588  
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1589  	/* We have our copies now, allow OS release its copies */
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1590  	release_firmware(ucode_raw);
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1591  
ff1ffb850b7ac6 drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-06-06  1592  	mutex_lock(&iwlwifi_opmode_table_mtx);
ca221c9b946cd4 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Johannes Berg          2016-04-28  1593  	switch (fw->type) {
ca221c9b946cd4 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Johannes Berg          2016-04-28  1594  	case IWL_FW_DVM:
cc5f7e39761382 drivers/net/wireless/iwlwifi/iwl-drv.c       Don Fry                2012-05-16  1595  		op = &iwlwifi_opmode_table[DVM_OP_MODE];
ca221c9b946cd4 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Johannes Berg          2016-04-28  1596  		break;
ca221c9b946cd4 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Johannes Berg          2016-04-28  1597  	default:
ca221c9b946cd4 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Johannes Berg          2016-04-28  1598  		WARN(1, "Invalid fw type %d\n", fw->type);
10a0472d1850a9 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Gustavo A. R. Silva    2020-11-20  1599  		fallthrough;
ca221c9b946cd4 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Johannes Berg          2016-04-28  1600  	case IWL_FW_MVM:
ca221c9b946cd4 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Johannes Berg          2016-04-28  1601  		op = &iwlwifi_opmode_table[MVM_OP_MODE];
ca221c9b946cd4 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Johannes Berg          2016-04-28  1602  		break;
ca221c9b946cd4 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Johannes Berg          2016-04-28  1603  	}
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1604  
2b2719c7b5bbe3 drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2013-03-26  1605  	IWL_INFO(drv, "loaded firmware version %s op_mode %s\n",
2b2719c7b5bbe3 drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2013-03-26  1606  		 drv->fw.fw_version, op->name);
2b2719c7b5bbe3 drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2013-03-26  1607  
c03fe6d3b31c75 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Shahar S Matityahu     2019-07-08  1608  	iwl_dbg_tlv_load_bin(drv->trans->dev, drv->trans);
c03fe6d3b31c75 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Shahar S Matityahu     2019-07-08  1609  
cc5f7e39761382 drivers/net/wireless/iwlwifi/iwl-drv.c       Don Fry                2012-05-16  1610  	/* add this device to the list of devices using this op_mode */
cc5f7e39761382 drivers/net/wireless/iwlwifi/iwl-drv.c       Don Fry                2012-05-16  1611  	list_add_tail(&drv->list, &op->drv);
cc5f7e39761382 drivers/net/wireless/iwlwifi/iwl-drv.c       Don Fry                2012-05-16  1612  
cc5f7e39761382 drivers/net/wireless/iwlwifi/iwl-drv.c       Don Fry                2012-05-16  1613  	if (op->ops) {
9da987ac2b88b4 drivers/net/wireless/iwlwifi/iwl-drv.c       Meenakshi Venkataraman 2012-07-16  1614  		drv->op_mode = _iwl_op_mode_start(drv, op);
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1615  
daf67ce8cffd14 drivers/net/wireless/iwlwifi/iwl-drv.c       Dan Carpenter          2012-06-14  1616  		if (!drv->op_mode) {
daf67ce8cffd14 drivers/net/wireless/iwlwifi/iwl-drv.c       Dan Carpenter          2012-06-14  1617  			mutex_unlock(&iwlwifi_opmode_table_mtx);
f69a23b795d6ee drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-06-05  1618  			goto out_unbind;
daf67ce8cffd14 drivers/net/wireless/iwlwifi/iwl-drv.c       Dan Carpenter          2012-06-14  1619  		}
cc5f7e39761382 drivers/net/wireless/iwlwifi/iwl-drv.c       Don Fry                2012-05-16  1620  	} else {
d4b10483223cf1 drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-06-12  1621  		load_module = true;
cc5f7e39761382 drivers/net/wireless/iwlwifi/iwl-drv.c       Don Fry                2012-05-16  1622  	}
ff1ffb850b7ac6 drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-06-06  1623  	mutex_unlock(&iwlwifi_opmode_table_mtx);
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1624  
f69a23b795d6ee drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-06-05  1625  	/*
f69a23b795d6ee drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-06-05  1626  	 * Complete the firmware request last so that
f69a23b795d6ee drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-06-05  1627  	 * a driver unbind (stop) doesn't run while we
f69a23b795d6ee drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-06-05  1628  	 * are doing the start() above.
f69a23b795d6ee drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-06-05  1629  	 */
f69a23b795d6ee drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-06-05  1630  	complete(&drv->request_firmware_complete);
d4b10483223cf1 drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-06-12  1631  
d4b10483223cf1 drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-06-12  1632  	/*
d4b10483223cf1 drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-06-12  1633  	 * Load the module last so we don't block anything
d4b10483223cf1 drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-06-12  1634  	 * else from proceeding if the module fails to load
d4b10483223cf1 drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-06-12  1635  	 * or hangs loading.
d4b10483223cf1 drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-06-12  1636  	 */
1618b2b02a3a0e drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2013-04-04  1637  	if (load_module) {
06a1e85e66bac2 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Johannes Berg          2017-02-28  1638  		request_module("%s", op->name);
8edf3fd6eb0649 drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2013-05-28  1639  #ifdef CONFIG_IWLWIFI_OPMODE_MODULAR
1618b2b02a3a0e drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2013-04-04  1640  		if (err)
1618b2b02a3a0e drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2013-04-04  1641  			IWL_ERR(drv,
1618b2b02a3a0e drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2013-04-04  1642  				"failed to load module %s (error %d), is dynamic loading enabled?\n",
1618b2b02a3a0e drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2013-04-04  1643  				op->name, err);
8edf3fd6eb0649 drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2013-05-28  1644  #endif
1618b2b02a3a0e drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2013-04-04  1645  	}
2ed1e019108252 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Johannes Berg          2016-10-20  1646  	goto free;
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1647  
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1648   try_again:
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1649  	/* try next, if any */
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1650  	release_firmware(ucode_raw);
965974a631756a drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-06  1651  	if (iwl_request_firmware(drv, false))
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1652  		goto out_unbind;
2ed1e019108252 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Johannes Berg          2016-10-20  1653  	goto free;
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1654  
75813bde1f671a drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-05-16  1655   out_free_fw:
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1656  	release_firmware(ucode_raw);
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1657   out_unbind:
965974a631756a drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-06  1658  	complete(&drv->request_firmware_complete);
93faaeea4f2873 drivers/net/wireless/iwlwifi/iwl-drv.c       Emmanuel Grumbach      2012-03-22  1659  	device_release_driver(drv->trans->dev);
2ed1e019108252 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Johannes Berg          2016-10-20  1660   free:
53d515ec677a19 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Johannes Berg          2017-02-28  1661  	if (pieces) {
eef187a7b8a144 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Sara Sharon            2016-10-25  1662  		for (i = 0; i < ARRAY_SIZE(pieces->img); i++)
eef187a7b8a144 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Sara Sharon            2016-10-25  1663  			kfree(pieces->img[i].sec);
2ed1e019108252 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Johannes Berg          2016-10-20  1664  		kfree(pieces->dbg_mem_tlv);
2ed1e019108252 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Johannes Berg          2016-10-20  1665  		kfree(pieces);
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1666  	}
53d515ec677a19 drivers/net/wireless/intel/iwlwifi/iwl-drv.c Johannes Berg          2017-02-28  1667  }
15854ef94f54ae drivers/net/wireless/iwlwifi/iwl-drv.c       Johannes Berg          2012-03-05  1668  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux