summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhu, Yi <yi.zhu@intel.com>2009-01-24 00:45:22 +0300
committerJohn W. Linville <linville@tuxdriver.com>2009-01-29 23:46:43 +0300
commit1f304e4e3bb161163d9f5bc3c6467a2a6fa9b3ae (patch)
treefa4c17978fa8ceacc21658f3c6fce8eddbcd9198
parenteb83bbf57429ab80f49b413e3e44d3b19c3fdc5a (diff)
downloadlinux-1f304e4e3bb161163d9f5bc3c6467a2a6fa9b3ae.tar.xz
iwlwifi: fix kernel oops when ucode DMA memory allocation failure
The patch fixes memcpy to NULL address when the ucode DMA allocation failure. This is a fix to bug http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1861 Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index 0dc8eed16404..b35c8813bef4 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -1719,6 +1719,10 @@ static int iwl_read_ucode(struct iwl_priv *priv)
priv->ucode_data_backup.len = data_size;
iwl_alloc_fw_desc(priv->pci_dev, &priv->ucode_data_backup);
+ if (!priv->ucode_code.v_addr || !priv->ucode_data.v_addr ||
+ !priv->ucode_data_backup.v_addr)
+ goto err_pci_alloc;
+
/* Initialization instructions and data */
if (init_size && init_data_size) {
priv->ucode_init.len = init_size;