NCR53c406a: don't call free_dma() by default
authorArnd Bergmann <arnd@arndb.de>
Thu, 5 Jun 2014 21:29:49 +0000 (23:29 +0200)
committerChristoph Hellwig <hch@lst.de>
Fri, 25 Jul 2014 21:16:56 +0000 (17:16 -0400)
The NCR53c406a scsi driver normally does not use DMA, unless
the USE_PIO macro is disabled by modifying the source code.

The call to free_dma() for some reason uses #ifdef USE_DMA,
which does not do the right thing, since USE_DMA is defined
as a boolean that is either 0 or 1, but always present.

One case where it gets in the way is randconfig builds on ARM,
which depending on the configuration does not provide a free_dma()
function, causing this build error:

drivers/scsi/NCR53c406a.c: In function 'NCR53c406a_release':
drivers/scsi/NCR53c406a.c:600:3: error: implicit declaration of function 'free_dma' [-Werror=implicit-function-declaration]
   free_dma(shost->dma_channel);
   ^

This changes the code to use #if USE_DMA, to match the
rest of the file, which seems to be what the author intended.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/scsi/NCR53c406a.c

index 10c3374d759fc23b7b85d42d2374c6fdd1fb04bd..42c7161474f7b31ca4622f4ffe91ca4da333fb1e 100644 (file)
@@ -595,7 +595,7 @@ static int NCR53c406a_release(struct Scsi_Host *shost)
 {
        if (shost->irq)
                free_irq(shost->irq, NULL);
-#ifdef USE_DMA
+#if USE_DMA
        if (shost->dma_channel != 0xff)
                free_dma(shost->dma_channel);
 #endif
This page took 0.026177 seconds and 5 git commands to generate.