aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aic94xx
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/aic94xx')
-rw-r--r--drivers/scsi/aic94xx/aic94xx_init.c1
-rw-r--r--drivers/scsi/aic94xx/aic94xx_seq.c7
-rw-r--r--drivers/scsi/aic94xx/aic94xx_seq.h1
3 files changed, 9 insertions, 0 deletions
diff --git a/drivers/scsi/aic94xx/aic94xx_init.c b/drivers/scsi/aic94xx/aic94xx_init.c
index 9a9ea74c8d9e..6faa10f59c18 100644
--- a/drivers/scsi/aic94xx/aic94xx_init.c
+++ b/drivers/scsi/aic94xx/aic94xx_init.c
@@ -886,6 +886,7 @@ static void __exit aic94xx_exit(void)
886 asd_remove_driver_attrs(&aic94xx_pci_driver.driver); 886 asd_remove_driver_attrs(&aic94xx_pci_driver.driver);
887 pci_unregister_driver(&aic94xx_pci_driver); 887 pci_unregister_driver(&aic94xx_pci_driver);
888 sas_release_transport(aic94xx_transport_template); 888 sas_release_transport(aic94xx_transport_template);
889 asd_release_firmware();
889 asd_destroy_global_caches(); 890 asd_destroy_global_caches();
890 asd_printk("%s version %s unloaded\n", ASD_DRIVER_DESCRIPTION, 891 asd_printk("%s version %s unloaded\n", ASD_DRIVER_DESCRIPTION,
891 ASD_DRIVER_VERSION); 892 ASD_DRIVER_VERSION);
diff --git a/drivers/scsi/aic94xx/aic94xx_seq.c b/drivers/scsi/aic94xx/aic94xx_seq.c
index 845112539d05..21569ecd8ec8 100644
--- a/drivers/scsi/aic94xx/aic94xx_seq.c
+++ b/drivers/scsi/aic94xx/aic94xx_seq.c
@@ -1232,6 +1232,13 @@ static int asd_seq_start_lseq(struct asd_ha_struct *asd_ha, int lseq)
1232 return asd_seq_unpause_lseq(asd_ha, lseq); 1232 return asd_seq_unpause_lseq(asd_ha, lseq);
1233} 1233}
1234 1234
1235int asd_release_firmware(void)
1236{
1237 if (sequencer_fw)
1238 release_firmware(sequencer_fw);
1239 return 0;
1240}
1241
1235static int asd_request_firmware(struct asd_ha_struct *asd_ha) 1242static int asd_request_firmware(struct asd_ha_struct *asd_ha)
1236{ 1243{
1237 int err, i; 1244 int err, i;
diff --git a/drivers/scsi/aic94xx/aic94xx_seq.h b/drivers/scsi/aic94xx/aic94xx_seq.h
index 9e715e5496af..9437ff0ae3a4 100644
--- a/drivers/scsi/aic94xx/aic94xx_seq.h
+++ b/drivers/scsi/aic94xx/aic94xx_seq.h
@@ -63,6 +63,7 @@ int asd_pause_lseq(struct asd_ha_struct *asd_ha, u8 lseq_mask);
63int asd_unpause_lseq(struct asd_ha_struct *asd_ha, u8 lseq_mask); 63int asd_unpause_lseq(struct asd_ha_struct *asd_ha, u8 lseq_mask);
64int asd_init_seqs(struct asd_ha_struct *asd_ha); 64int asd_init_seqs(struct asd_ha_struct *asd_ha);
65int asd_start_seqs(struct asd_ha_struct *asd_ha); 65int asd_start_seqs(struct asd_ha_struct *asd_ha);
66int asd_release_firmware(void);
66 67
67void asd_update_port_links(struct asd_ha_struct *asd_ha, struct asd_phy *phy); 68void asd_update_port_links(struct asd_ha_struct *asd_ha, struct asd_phy *phy);
68#endif 69#endif