aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aic94xx/aic94xx_seq.c
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@us.ibm.com>2007-01-11 17:15:26 -0500
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2007-01-13 17:19:07 -0500
commitbf2a1928f3e5d44934e974940a8260a57fcc8a58 (patch)
tree29e1353a5c3f834f68b6b72d3ed8232b571e3895 /drivers/scsi/aic94xx/aic94xx_seq.c
parent3cd041fb7f50f4cee3bc3a2b0ce02b1562894894 (diff)
[SCSI] aic94xx: Match request_firmware with release_firmware
The vmalloc() blob holding the sequencer firmware wasn't being released at module unload time, which resulted in a memory leak. Signed-off-by: Alexis Bruemmer <alexisb@us.ibm.com> Acked-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/aic94xx/aic94xx_seq.c')
-rw-r--r--drivers/scsi/aic94xx/aic94xx_seq.c7
1 files changed, 7 insertions, 0 deletions
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;