rem: emu10k1_cleanup( &dd->card ); pci_disable( dd->card.pci_dev ); pci_release( dd->card.pci_dev );
add: if( dd->emu10k1_initialized ) { emu10k1_cleanup( &dd->card ); }  if( dd->master_enabled ) { UWORD cmd;  cmd = pci_read_conf_word( dd->card.pci_dev, PCI_COMMAND ); cmd &= ~( PCI_CMD_IO_MASK | PCI_CMD_MEMORY_MASK | PCI_CMD_MASTER_MASK ); pci_write_conf_word( dd->card.pci_dev, PCI_COMMAND, cmd ); }  if( dd->enabled ) { pci_disable( dd->card.pci_dev ); }  if( dd->requested ) { pci_release( dd->card.pci_dev ); }
context: intAHIsub_FreeAudio( REG( a2, struct AHIAudioCtrlDrv* AudioCtrl ) ){  if( dd != NULL )  {    if( dd->card.pci_dev != NULL )    {      emu10k1_cleanup( &dd->card );      pci_disable( dd->card.pci_dev );      pci_release( dd->card.pci_dev );      if( dd->interrupt_added )      {	pci_rem_irq( dd->card.pci_dev, &dd->interrupt );      }    }    FreeVec( dd );    dd = NULL;  }}