equal
deleted
inserted
replaced
106 |
106 |
107 /*****************************************************************************/ |
107 /*****************************************************************************/ |
108 |
108 |
109 int request_lock(void *data) |
109 int request_lock(void *data) |
110 { |
110 { |
111 unsigned int tries = 0; |
111 spin_lock_bh(&master_lock); |
112 while (1) { |
112 return 0; // access allowed |
113 if (spin_trylock(&master_lock)) { |
|
114 if (tries) printk(KERN_INFO "lock: %i tries needed.\n", tries); |
|
115 return 1; |
|
116 } |
|
117 tries++; |
|
118 } |
|
119 } |
113 } |
120 |
114 |
121 /*****************************************************************************/ |
115 /*****************************************************************************/ |
122 |
116 |
123 void release_lock(void *data) |
117 void release_lock(void *data) |
124 { |
118 { |
125 spin_unlock(&master_lock); |
119 spin_unlock_bh(&master_lock); |
126 } |
120 } |
127 |
121 |
128 /*****************************************************************************/ |
122 /*****************************************************************************/ |
129 |
123 |
130 int __init init_mini_module(void) |
124 int __init init_mini_module(void) |