]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - drivers/scsi/mpt2sas/mpt2sas_base.c
Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci
[mirror_ubuntu-zesty-kernel.git] / drivers / scsi / mpt2sas / mpt2sas_base.c
index c7d5a921a4303a1e0cc4b26053dfbad71d12e465..5e69f468535f243d200aaf1a6af31f4c8b9205cb 100644 (file)
@@ -2575,6 +2575,11 @@ _base_allocate_memory_pools(struct MPT2SAS_ADAPTER *ioc,  int sleep_flag)
 
        ioc->chain_lookup = (struct chain_tracker *)__get_free_pages(
            GFP_KERNEL, ioc->chain_pages);
+       if (!ioc->chain_lookup) {
+               printk(MPT2SAS_ERR_FMT "chain_lookup: get_free_pages failed, "
+                   "sz(%d)\n", ioc->name, (int)sz);
+               goto out;
+       }
        ioc->chain_dma_pool = pci_pool_create("chain pool", ioc->pdev,
            ioc->request_sz, 16, 0);
        if (!ioc->chain_dma_pool) {
@@ -4548,7 +4553,7 @@ mpt2sas_base_hard_reset_handler(struct MPT2SAS_ADAPTER *ioc, int sleep_flag,
                printk(MPT2SAS_ERR_FMT "%s: pci error recovery reset\n",
                    ioc->name, __func__);
                r = 0;
-               goto out;
+               goto out_unlocked;
        }
 
        if (mpt2sas_fwfault_debug)
@@ -4604,6 +4609,7 @@ mpt2sas_base_hard_reset_handler(struct MPT2SAS_ADAPTER *ioc, int sleep_flag,
        spin_unlock_irqrestore(&ioc->ioc_reset_in_progress_lock, flags);
        mutex_unlock(&ioc->reset_in_progress_mutex);
 
+ out_unlocked:
        dtmprintk(ioc, printk(MPT2SAS_INFO_FMT "%s: exit\n", ioc->name,
            __func__));
        return r;