From 1713c0d508fbbb42aa5f90039195e5ac31a50625 Mon Sep 17 00:00:00 2001
From: Krzysztof Helt <krzysztof.h1@wp.pl>
Date: Fri, 27 Feb 2009 21:41:40 +0100
Subject: [PATCH] ALSA: opl3sa2 fix irq releasing and short name of card

Two simple fixes:

1. Use the same pointer for the free_irq() and
   the request_irq() calls.

2. A short name of card is appended with '2' or '3'
   character depending on a detected chip. Remove
   the '2' character from the short name.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 sound/isa/opl3sa2.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c
index 06810dfb9d9a..19b2d0420a26 100644
--- a/sound/isa/opl3sa2.c
+++ b/sound/isa/opl3sa2.c
@@ -617,7 +617,7 @@ static void snd_opl3sa2_free(struct snd_card *card)
 {
 	struct snd_opl3sa2 *chip = card->private_data;
 	if (chip->irq >= 0)
-		free_irq(chip->irq, (void *)chip);
+		free_irq(chip->irq, card);
 	release_and_free_resource(chip->res_port);
 }
 
@@ -630,7 +630,7 @@ static struct snd_card *snd_opl3sa2_card_new(int dev)
 	if (card == NULL)
 		return NULL;
 	strcpy(card->driver, "OPL3SA2");
-	strcpy(card->shortname, "Yamaha OPL3-SA2");
+	strcpy(card->shortname, "Yamaha OPL3-SA");
 	chip = card->private_data;
 	spin_lock_init(&chip->reg_lock);
 	chip->irq = -1;
-- 
2.20.1