Commit Graph

11 Commits

Author SHA1 Message Date
Íñigo Huguet d9cd71e6be iwlwifi: avoid void pointer arithmetic
Bugzilla: https://bugzilla.redhat.com/2059999

commit 3827cb59b3b8ce4b1687385d35034dadcd90d7ce
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Fri Jan 28 15:34:29 2022 +0200

    iwlwifi: avoid void pointer arithmetic
    
    Avoid void pointer arithmetic since it's technically
    undefined and causes warnings in some places that use
    our code.
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Link: https://lore.kernel.org/r/iwlwifi.20220128153014.e349104ecd94.Iadc937f475158b9437becdfefb361a97e7eaa934@changeid
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2022-05-31 14:50:47 +02:00
Íñigo Huguet c2c86b4d75 iwlwifi: prefer WIDE_ID() over iwl_cmd_id()
Bugzilla: https://bugzilla.redhat.com/2059999

commit f0c864273849bafc08e0948319507bbd0bc0a7d7
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Fri Jan 28 15:34:23 2022 +0200

    iwlwifi: prefer WIDE_ID() over iwl_cmd_id()
    
    The order of arguments for iwl_cmd_id() is confusing, and the
    version is always 0 and thus a useless argument. Prefer the
    WIDE_ID() macro (which needs to be a macro due to use in switch
    cases etc.) over the iwl_cmd_id() function.
    
    Obviously done with spatch:
    
      @@
      expression G, C;
      @@
      -iwl_cmd_id(C, G, 0)
      +WIDE_ID(G, C)
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Link: https://lore.kernel.org/r/iwlwifi.20220128153014.cc4f9d1a2e9b.Ieb023cd773ea22e819d1ef1c37ae857ecc1a839d@changeid
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2022-05-31 14:50:46 +02:00
Íñigo Huguet 42734d6ffa iwlwifi: fw dump: add infrastructure for dump scrubbing
Bugzilla: http://bugzilla.redhat.com/2043454

commit fdb70083dd2886e45dc2575b8b21dbf63505c29b
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Sun Oct 17 12:40:11 2021 +0300

    iwlwifi: fw dump: add infrastructure for dump scrubbing
    
    In firmware dumps, currently all kinds of key material may be
    included, e.g. in host commands (if firmware crashes during the
    processing of a key-related command) or in the TX FIFO(s) if
    we have been using in-TX-command key material.
    
    Additionally, some firmware versions will advertise sections
    of their internal data to not dump, due to them containing some
    sensitive data.
    
    Add some infrastructure to allow scrubbing this data out, as
    dependent on the opmode's idea of what will need to be done.
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Link: https://lore.kernel.org/r/iwlwifi.20211017123741.360cc8fe55b1.Ie3bd3ece38043969f7e116e61a6ec1197a58d78b@changeid
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2022-02-21 11:40:33 +01:00
Johannes Berg 8e99ea8d09 iwlwifi: use SPDX tags
Use SPDX tags instead of the long copyright notices.  Also cleanup
some duplicate copyright notices and combine the years where possible.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20201210000603.481bcb512a6f.I8146abe5a637079e7336209f23cb26af98b12b31@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2020-12-10 00:15:31 +02:00
Luca Coelho 286ca8eb4d iwlwifi: add a pointer to the trans_cfg directly in trans
Add a pointer to the iwl_trans structure and point it to the trans
part of the cfg.  This is the first step in disassociating the trans
configuration from the rest of the configuration.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2019-09-06 15:52:00 +03:00
Luca Coelho 79b6c8feb6 iwlwifi: separate elements from cfg that are needed by trans_alloc
In order to be able to select the cfg depending on the HW revision or
on the RF ID, we need to set up the trans before selecting the cfg.
To do so, move the elements from cfg that are needed by
iwl_trans_alloc() to a separate struct at the top of the cfg, so it
can be used by other cfg types as well, before selecting the rest of
the configuration.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2019-09-06 15:34:25 +03:00
Luca Coelho de460ddd8b iwlwifi: fw: combine loading of last page block into main copy loop
Now that we check and copy only the actual size of the page block,
there is no need to treat the last block separately.  Remove the
mostly duplicate code and make the main copy loop handle also the last
block.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2018-04-26 15:18:07 +03:00
Luca Coelho 9039d98581 iwlwifi: fw: harden page loading code
The page loading code trusts the data provided in the firmware images
a bit too much and may cause a buffer overflow or copy unknown data if
the block sizes don't match what we expect.

To prevent potential problems, harden the code by checking if the
sizes we are copying are what we expect.

Cc: stable@vger.kernel.org
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2018-04-26 15:18:07 +03:00
Emmanuel Grumbach 4ae827ffc1 iwlwifi: remove host assisted paging
This was used for internal devices that are now deprecated.
All the currently existing devices can do paging without
any help from the host.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2017-11-03 11:56:08 +02:00
Johannes Berg d172a5eff6 iwlwifi: reorganize firmware API
Apart from DVM, all firmware uses the same base API, and there's
code outside iwlmvm that needs to interact with it. Reflect this
in the source better and reorganize the firmware API to a new
fw/api/ directory.

While at it, split the already pretty large fw-api.h file into a
number of smaller files, going from almost 3k lines in there to
a maximum number of lines less than 1k.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2017-08-01 12:41:43 +03:00
Johannes Berg 235acb1894 iwlwifi: refactor out paging code
Refactor the paging code from mvm to be used by different opmodes.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2017-08-01 12:41:43 +03:00