From: Amol Lad <[EMAIL PROTECTED]>

Replaced save_flags()/cli() with spin_lock alternatives

[EMAIL PROTECTED]: no longer BROKEN_ON_SMP]
Signed-off-by: Amol Lad <[EMAIL PROTECTED]>
Cc: James Bottomley <[EMAIL PROTECTED]>
Cc: Alan Cox <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---

 drivers/scsi/mca_53c9x.c |   12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff -puN 
drivers/scsi/mca_53c9x.c~drivers-scsi-mca_53c9xc-save_flags-cli-removal 
drivers/scsi/mca_53c9x.c
--- a/drivers/scsi/mca_53c9x.c~drivers-scsi-mca_53c9xc-save_flags-cli-removal
+++ a/drivers/scsi/mca_53c9x.c
@@ -341,9 +341,7 @@ static void dma_init_read(struct NCR_ESP
 {
        unsigned long flags;
 
-
-       save_flags(flags);
-       cli();
+       spin_lock_irqsave(esp->ehost->host_lock, flags);
 
        mca_disable_dma(esp->dma);
        mca_set_dma_mode(esp->dma, MCA_DMA_MODE_XFER | MCA_DMA_MODE_16 |
@@ -352,16 +350,14 @@ static void dma_init_read(struct NCR_ESP
        mca_set_dma_count(esp->dma, length / 2); /* !!! */
        mca_enable_dma(esp->dma);
 
-       restore_flags(flags);
+       spin_unlock_irqrestore(esp->ehost->host_lock, flags);
 }
 
 static void dma_init_write(struct NCR_ESP *esp, __u32 addr, int length)
 {
        unsigned long flags;
 
-
-       save_flags(flags);
-       cli();
+       spin_lock_irqsave(esp->ehost->host_lock, flags);
 
        mca_disable_dma(esp->dma);
        mca_set_dma_mode(esp->dma, MCA_DMA_MODE_XFER | MCA_DMA_MODE_WRITE |
@@ -370,7 +366,7 @@ static void dma_init_write(struct NCR_ES
        mca_set_dma_count(esp->dma, length / 2); /* !!! */
        mca_enable_dma(esp->dma);
 
-       restore_flags(flags);
+       spin_unlock_irqrestore(esp->ehost->host_lock, flags);
 }
 
 static void dma_ints_off(struct NCR_ESP *esp)
_
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to