diff options
author | Tomas Winkler <tomas.winkler@intel.com> | 2008-04-21 18:41:52 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-05-07 15:02:15 -0400 |
commit | 073d3f5f1b3b6512eb82a3d40c84dedb14dc6f73 (patch) | |
tree | 49ef76bf1d863a231b0a672c2c34fb44f63fad9c /drivers/net/wireless/iwlwifi/iwl4965-base.c | |
parent | 5da4b55f78fb2ed40926b775d4f7c791594ecbd7 (diff) |
iwlwifi: changing EEPROM layout handling
This patch
1. changes the current EEPROM handling through a single HW struct
layout representation, to more general approach, treating the EEPROM
image as a flat bytes array, handling this image through ops functions
and offsets.
2. Eeprom is dynamically allocated accroding HW type
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl4965-base.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl4965-base.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c index 6cb54580fe6b..c5ac82c4aeb4 100644 --- a/drivers/net/wireless/iwlwifi/iwl4965-base.c +++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c | |||
@@ -7550,7 +7550,7 @@ static int iwl4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e | |||
7550 | /* Device-specific setup */ | 7550 | /* Device-specific setup */ |
7551 | if (priv->cfg->ops->lib->set_hw_params(priv)) { | 7551 | if (priv->cfg->ops->lib->set_hw_params(priv)) { |
7552 | IWL_ERROR("failed to set hw parameters\n"); | 7552 | IWL_ERROR("failed to set hw parameters\n"); |
7553 | goto out_iounmap; | 7553 | goto out_free_eeprom; |
7554 | } | 7554 | } |
7555 | 7555 | ||
7556 | /******************* | 7556 | /******************* |
@@ -7611,6 +7611,8 @@ static int iwl4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e | |||
7611 | sysfs_remove_group(&pdev->dev.kobj, &iwl4965_attribute_group); | 7611 | sysfs_remove_group(&pdev->dev.kobj, &iwl4965_attribute_group); |
7612 | out_unset_hw_params: | 7612 | out_unset_hw_params: |
7613 | iwl4965_unset_hw_params(priv); | 7613 | iwl4965_unset_hw_params(priv); |
7614 | out_free_eeprom: | ||
7615 | iwl_eeprom_free(priv); | ||
7614 | out_iounmap: | 7616 | out_iounmap: |
7615 | pci_iounmap(pdev, priv->hw_base); | 7617 | pci_iounmap(pdev, priv->hw_base); |
7616 | out_pci_release_regions: | 7618 | out_pci_release_regions: |
@@ -7674,6 +7676,7 @@ static void __devexit iwl4965_pci_remove(struct pci_dev *pdev) | |||
7674 | 7676 | ||
7675 | iwl4965_unset_hw_params(priv); | 7677 | iwl4965_unset_hw_params(priv); |
7676 | iwlcore_clear_stations_table(priv); | 7678 | iwlcore_clear_stations_table(priv); |
7679 | iwl_eeprom_free(priv); | ||
7677 | 7680 | ||
7678 | 7681 | ||
7679 | /*netif_stop_queue(dev); */ | 7682 | /*netif_stop_queue(dev); */ |