From mboxrd@z Thu Jan 1 00:00:00 1970 From: premdas.prajosh@gmail.com (Prajosh Premdas) Date: Wed, 2 Nov 2011 19:23:25 +0530 Subject: spin_lock behavior Message-ID: To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org Hi I wrote a sample module which looked like this and i expected the module to hang as i have used 2 spin_lock simultaneously. But i find the print after the second spin_lock being printed and the module works perfectly fine. Can any body please help me in understanding this? I got this problem from a driver i wrote and had a typo "spin_lock" instead of "spin_unlock" the driver worked fine and i caught the mistake only during a review *#include * *#include * * * *struct sp_q {* *spinlock_t spinlock;* *uint8_t data;* *};* * * *static int __init sp_lck_init(void)* *{* * * * struct sp_q test;* * * * /* Spin lock Init */* * * * spin_lock_init(&test.spinlock);* * * * printk("<1>Test start\n");* * * * spin_lock(&test.spinlock);* * test.data = 0; * * spin_lock(&test.spinlock); * * * * printk("<1>How come???\n");* * return 0;* * * *}* * * *static void __exit sp_lck_exit(void)* *{* * * *}* * * *module_init(sp_lck_init);* *module_exit(sp_lck_exit);* *MODULE_LICENSE("GPL");* -- Regards, Prajosh Premdas -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20111102/60a34bbd/attachment.html