From abbotti@mev.co.uk Tue Jun 1 13:21:29 2010 From: Ian Abbott Date: Wed, 19 May 2010 15:11:58 +0100 Subject: Staging: comedi: addi-data: don't overwrite name for request_irq() Cc: Greg Kroah-Hartman , Frank Mori Hess , Ian Abbott Message-ID: <1274278318-27750-2-git-send-email-abbotti@mev.co.uk> The Addi-Data PCI drivers for Comedi use sprintf() in their comedi "attach" routine to construct a string to pass as the name in the call to request_irq(). All calls to "attach" routine share the same static buffer for this name, but the contents will differ on each call (including the comedi device number and the comedi board name). This changes the name displayed in /proc/interrupts for previous calls to request_irq() using the same buffer. Just use the board name instead; it has slightly less information (no comedi device number) but at least it doesn't change over the lifetime of the IRQ handler. Signed-off-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- drivers/staging/comedi/drivers/addi-data/addi_common.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) --- a/drivers/staging/comedi/drivers/addi-data/addi_common.c +++ b/drivers/staging/comedi/drivers/addi-data/addi_common.c @@ -2574,10 +2574,6 @@ static int i_ADDI_Attach(struct comedi_d struct pcilst_struct *card = NULL; unsigned char pci_bus, pci_slot, pci_func; int i_Dma = 0; - static char c_Identifier[150]; - - sprintf(c_Identifier, "Addi-Data GmbH Comedi %s", - this_board->pc_DriverName); ret = alloc_private(dev, sizeof(struct addi_private)); if (ret < 0) @@ -2652,7 +2648,7 @@ static int i_ADDI_Attach(struct comedi_d if (irq > 0) { if (request_irq(irq, v_ADDI_Interrupt, IRQF_SHARED, - c_Identifier, dev) < 0) { + this_board->pc_DriverName, dev) < 0) { printk(", unable to allocate IRQ %u, DISABLING IT", irq); irq = 0; /* Can't use IRQ */