Possible locking bug in pm8xxx/pm8001

2013-10-11 Thread Jason Seba
The pm8xxx driver uses a per-adapter spinlock (pm8001_ha->lock) which is usually acquired and released with the irqsave routines. However, some functions which are called with the lock held (mpi_sata_completion, mpi_sata_event, pm8001_chip_sata_req) will temporary release the lock to complete a tas

Re: [PATCH] pm80xx: Spinlock fix

2013-12-23 Thread Jason Seba
local to that > function and restored in other function where again flags was declared as > local variable to that function. So the data stored in flags while irq save > was not used while restoring. Since we have lock per card, we are associating > flag also per card for that lock. &

Re: [PATCH] pm80xx: Spinlock fix

2013-12-23 Thread Jason Seba
e: >> On 12/23/2013 03:55 PM, Jason Seba wrote: >>> Why is this considered dangerous? I put some thought into it and >>> couldn't find any obvious reason why it wouldn't work, but I also >>> couldn't find any other drivers that work this way. Is