Lines Matching refs:aac
1301 static int _aac_reset_adapter(struct aac_dev *aac, int forced) in _aac_reset_adapter() argument
1322 host = aac->scsi_host_ptr; in _aac_reset_adapter()
1324 aac_adapter_disable_int(aac); in _aac_reset_adapter()
1325 if (aac->thread->pid != current->pid) { in _aac_reset_adapter()
1327 kthread_stop(aac->thread); in _aac_reset_adapter()
1335 retval = aac_adapter_restart(aac, forced ? 0 : aac_adapter_check_health(aac)); in _aac_reset_adapter()
1343 for (retval = 1, index = 0; index < (aac->scsi_host_ptr->can_queue + AAC_NUM_MGT_FIB); index++) { in _aac_reset_adapter()
1344 struct fib *fib = &aac->fibs[index]; in _aac_reset_adapter()
1358 index = aac->cardtype; in _aac_reset_adapter()
1367 aac_fib_map_free(aac); in _aac_reset_adapter()
1368 pci_free_consistent(aac->pdev, aac->comm_size, aac->comm_addr, aac->comm_phys); in _aac_reset_adapter()
1369 aac->comm_addr = NULL; in _aac_reset_adapter()
1370 aac->comm_phys = 0; in _aac_reset_adapter()
1371 kfree(aac->queues); in _aac_reset_adapter()
1372 aac->queues = NULL; in _aac_reset_adapter()
1374 if (aac->pdev->device == PMC_DEVICE_S6 || in _aac_reset_adapter()
1375 aac->pdev->device == PMC_DEVICE_S7 || in _aac_reset_adapter()
1376 aac->pdev->device == PMC_DEVICE_S8 || in _aac_reset_adapter()
1377 aac->pdev->device == PMC_DEVICE_S9) { in _aac_reset_adapter()
1378 if (aac->max_msix > 1) { in _aac_reset_adapter()
1379 for (i = 0; i < aac->max_msix; i++) { in _aac_reset_adapter()
1381 aac->msixentry[i].vector, in _aac_reset_adapter()
1384 aac->name, in _aac_reset_adapter()
1385 aac->id, in _aac_reset_adapter()
1390 free_irq(aac->msixentry[i].vector, in _aac_reset_adapter()
1391 &(aac->aac_msix[i])); in _aac_reset_adapter()
1393 pci_disable_msix(aac->pdev); in _aac_reset_adapter()
1395 free_irq(aac->pdev->irq, &(aac->aac_msix[0])); in _aac_reset_adapter()
1398 free_irq(aac->pdev->irq, aac); in _aac_reset_adapter()
1400 if (aac->msi) in _aac_reset_adapter()
1401 pci_disable_msi(aac->pdev); in _aac_reset_adapter()
1402 kfree(aac->fsa_dev); in _aac_reset_adapter()
1403 aac->fsa_dev = NULL; in _aac_reset_adapter()
1406 if (((retval = pci_set_dma_mask(aac->pdev, DMA_BIT_MASK(31)))) || in _aac_reset_adapter()
1407 ((retval = pci_set_consistent_dma_mask(aac->pdev, DMA_BIT_MASK(31))))) in _aac_reset_adapter()
1410 if (((retval = pci_set_dma_mask(aac->pdev, DMA_BIT_MASK(32)))) || in _aac_reset_adapter()
1411 ((retval = pci_set_consistent_dma_mask(aac->pdev, DMA_BIT_MASK(32))))) in _aac_reset_adapter()
1414 if ((retval = (*(aac_get_driver_ident(index)->init))(aac))) in _aac_reset_adapter()
1417 if ((retval = pci_set_dma_mask(aac->pdev, DMA_BIT_MASK(32)))) in _aac_reset_adapter()
1420 aac->thread = kthread_run(aac_command_thread, aac, "%s", in _aac_reset_adapter()
1421 aac->name); in _aac_reset_adapter()
1422 if (IS_ERR(aac->thread)) { in _aac_reset_adapter()
1423 retval = PTR_ERR(aac->thread); in _aac_reset_adapter()
1427 (void)aac_get_adapter_info(aac); in _aac_reset_adapter()
1436 aac_get_config_status(aac, 1); in _aac_reset_adapter()
1437 aac_get_containers(aac); in _aac_reset_adapter()
1465 aac->in_reset = 0; in _aac_reset_adapter()
1473 int aac_reset_adapter(struct aac_dev * aac, int forced) in aac_reset_adapter() argument
1479 if (spin_trylock_irqsave(&aac->fib_lock, flagv) == 0) in aac_reset_adapter()
1482 if (aac->in_reset) { in aac_reset_adapter()
1483 spin_unlock_irqrestore(&aac->fib_lock, flagv); in aac_reset_adapter()
1486 aac->in_reset = 1; in aac_reset_adapter()
1487 spin_unlock_irqrestore(&aac->fib_lock, flagv); in aac_reset_adapter()
1494 host = aac->scsi_host_ptr; in aac_reset_adapter()
1524 aac_send_shutdown(aac); in aac_reset_adapter()
1526 …retval = _aac_reset_adapter(aac, forced ? forced : ((aac_check_reset != 0) && (aac_check_reset != … in aac_reset_adapter()
1531 struct fib * fibctx = aac_fib_alloc(aac); in aac_reset_adapter()
1566 int aac_check_health(struct aac_dev * aac) in aac_check_health() argument
1574 if (spin_trylock_irqsave(&aac->fib_lock, flagv) == 0) in aac_check_health()
1577 if (aac->in_reset || !(BlinkLED = aac_adapter_check_health(aac))) { in aac_check_health()
1578 spin_unlock_irqrestore(&aac->fib_lock, flagv); in aac_check_health()
1582 aac->in_reset = 1; in aac_check_health()
1594 entry = aac->fib_list.next; in aac_check_health()
1602 while (entry != &aac->fib_list) { in aac_check_health()
1627 aac_close_fib_context(aac, fibctx); in aac_check_health()
1641 fib->dev = aac; in aac_check_health()
1673 spin_unlock_irqrestore(&aac->fib_lock, flagv); in aac_check_health()
1676 printk(KERN_ERR "%s: Host adapter dead %d\n", aac->name, BlinkLED); in aac_check_health()
1680 printk(KERN_ERR "%s: Host adapter BLINK LED 0x%x\n", aac->name, BlinkLED); in aac_check_health()
1683 (aac->supplement_adapter_info.SupportedOptions2 & in aac_check_health()
1686 host = aac->scsi_host_ptr; in aac_check_health()
1687 if (aac->thread->pid != current->pid) in aac_check_health()
1689 BlinkLED = _aac_reset_adapter(aac, aac_check_reset != 1); in aac_check_health()
1690 if (aac->thread->pid != current->pid) in aac_check_health()
1695 aac->in_reset = 0; in aac_check_health()