iwlagn: fix minimum number of queues setting
We need to provide a reasonable minimum that will result in a working setup if used. Set minimum to be 10 to provide for 4 standard TX queues + 1 command queue + 2 (unused) HCCA queues + 4 HT queues (one per AC). We allow the user to change the number of queues used via a module parameter and use this minimum value to check if it is valid. Without this patch a user can select a value for the number of queues that will result in a failing setup. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Reviewed-by: Tomas Winkler <tomas.winkler@intel.com> Acked-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Родитель
3995bd9332
Коммит
45f5fa32b1
|
@ -112,7 +112,7 @@ enum iwl3945_antenna {
|
|||
#define IWL_TX_FIFO_NONE 7
|
||||
|
||||
/* Minimum number of queues. MAX_NUM is defined in hw specific files */
|
||||
#define IWL_MIN_NUM_QUEUES 4
|
||||
#define IWL39_MIN_NUM_QUEUES 4
|
||||
|
||||
#define IEEE80211_DATA_LEN 2304
|
||||
#define IEEE80211_4ADDR_LEN 30
|
||||
|
|
|
@ -258,8 +258,10 @@ struct iwl_channel_info {
|
|||
#define IWL_TX_FIFO_HCCA_2 6
|
||||
#define IWL_TX_FIFO_NONE 7
|
||||
|
||||
/* Minimum number of queues. MAX_NUM is defined in hw specific files */
|
||||
#define IWL_MIN_NUM_QUEUES 4
|
||||
/* Minimum number of queues. MAX_NUM is defined in hw specific files.
|
||||
* Set the minimum to accommodate the 4 standard TX queues, 1 command
|
||||
* queue, 2 (unused) HCCA queues, and 4 HT queues (one for each AC) */
|
||||
#define IWL_MIN_NUM_QUEUES 10
|
||||
|
||||
/* Power management (not Tx power) structures */
|
||||
|
||||
|
|
|
@ -4018,10 +4018,10 @@ static int iwl3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
|
|||
SET_IEEE80211_DEV(hw, &pdev->dev);
|
||||
|
||||
if ((iwl3945_mod_params.num_of_queues > IWL39_MAX_NUM_QUEUES) ||
|
||||
(iwl3945_mod_params.num_of_queues < IWL_MIN_NUM_QUEUES)) {
|
||||
(iwl3945_mod_params.num_of_queues < IWL39_MIN_NUM_QUEUES)) {
|
||||
IWL_ERR(priv,
|
||||
"invalid queues_num, should be between %d and %d\n",
|
||||
IWL_MIN_NUM_QUEUES, IWL39_MAX_NUM_QUEUES);
|
||||
IWL39_MIN_NUM_QUEUES, IWL39_MAX_NUM_QUEUES);
|
||||
err = -EINVAL;
|
||||
goto out_ieee80211_free_hw;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче