[MTD] mtdoops: fix a bit of spin lock usage
- do not leave spin lock locked - initialise spin lock Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com> Acked-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
parent
e2a0f25b4f
commit
48ec00ac89
1 changed files with 4 additions and 1 deletions
|
@ -361,8 +361,10 @@ mtdoops_console_write(struct console *co, const char *s, unsigned int count)
|
||||||
spin_lock_irqsave(&cxt->writecount_lock, flags);
|
spin_lock_irqsave(&cxt->writecount_lock, flags);
|
||||||
|
|
||||||
/* Check ready status didn't change whilst waiting for the lock */
|
/* Check ready status didn't change whilst waiting for the lock */
|
||||||
if (!cxt->ready)
|
if (!cxt->ready) {
|
||||||
|
spin_unlock_irqrestore(&cxt->writecount_lock, flags);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (cxt->writecount == 0) {
|
if (cxt->writecount == 0) {
|
||||||
u32 *stamp = cxt->oops_buf;
|
u32 *stamp = cxt->oops_buf;
|
||||||
|
@ -420,6 +422,7 @@ static int __init mtdoops_console_init(void)
|
||||||
|
|
||||||
cxt->mtd_index = -1;
|
cxt->mtd_index = -1;
|
||||||
cxt->oops_buf = vmalloc(OOPS_PAGE_SIZE);
|
cxt->oops_buf = vmalloc(OOPS_PAGE_SIZE);
|
||||||
|
spin_lock_init(&cxt->writecount_lock);
|
||||||
|
|
||||||
if (!cxt->oops_buf) {
|
if (!cxt->oops_buf) {
|
||||||
printk(KERN_ERR "Failed to allocate mtdoops buffer workspace\n");
|
printk(KERN_ERR "Failed to allocate mtdoops buffer workspace\n");
|
||||||
|
|
Loading…
Reference in a new issue