File tree Expand file tree Collapse file tree 1 file changed +21
-4
lines changed Expand file tree Collapse file tree 1 file changed +21
-4
lines changed Original file line number Diff line number Diff line change 37
37
/*
38
38
* lock for reading
39
39
*/
40
- static inline void
41
- __down_read (struct rw_semaphore * sem )
40
+ static inline int
41
+ ___down_read (struct rw_semaphore * sem )
42
42
{
43
43
long result = ia64_fetchadd8_acq ((unsigned long * )& sem -> count .counter , 1 );
44
44
45
- if (result < 0 )
45
+ return (result < 0 );
46
+ }
47
+
48
+ static inline void
49
+ __down_read (struct rw_semaphore * sem )
50
+ {
51
+ if (___down_read (sem ))
46
52
rwsem_down_read_failed (sem );
47
53
}
48
54
55
+ static inline int
56
+ __down_read_killable (struct rw_semaphore * sem )
57
+ {
58
+ if (___down_read (sem ))
59
+ if (IS_ERR (rwsem_down_read_failed_killable (sem )))
60
+ return - EINTR ;
61
+
62
+ return 0 ;
63
+ }
64
+
49
65
/*
50
66
* lock for writing
51
67
*/
@@ -72,9 +88,10 @@ __down_write (struct rw_semaphore *sem)
72
88
static inline int
73
89
__down_write_killable (struct rw_semaphore * sem )
74
90
{
75
- if (___down_write (sem ))
91
+ if (___down_write (sem )) {
76
92
if (IS_ERR (rwsem_down_write_failed_killable (sem )))
77
93
return - EINTR ;
94
+ }
78
95
79
96
return 0 ;
80
97
}
You can’t perform that action at this time.
0 commit comments