[PATCH] baresip: upgrade to 0.4.14
[feed/telephony.git] / libs / dahdi-linux / patches / 002-backport-smp_mb__after_atomic.patch
1 Index: dahdi-linux-2.10.0.1/drivers/dahdi/wcaxx-base.c
2 ===================================================================
3 --- dahdi-linux-2.10.0.1.orig/drivers/dahdi/wcaxx-base.c
4 +++ dahdi-linux-2.10.0.1/drivers/dahdi/wcaxx-base.c
5 @@ -3823,7 +3823,11 @@ static void wcaxx_back_out_gracefully(st
6 unsigned long flags;
7
8 clear_bit(INITIALIZED, &wc->bit_flags);
9 +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0))
10 smp_mb__after_clear_bit();
11 +#else
12 + smp_mb__after_atomic();
13 +#endif
14
15 /* Make sure we're not on the card list anymore. */
16 mutex_lock(&card_list_lock);
17 Index: dahdi-linux-2.10.0.1/drivers/dahdi/wcte12xp/base.c
18 ===================================================================
19 --- dahdi-linux-2.10.0.1.orig/drivers/dahdi/wcte12xp/base.c
20 +++ dahdi-linux-2.10.0.1/drivers/dahdi/wcte12xp/base.c
21 @@ -2110,7 +2110,11 @@ static int t1xxp_set_linemode(struct dah
22 * them. */
23 clear_bit(INITIALIZED, &wc->bit_flags);
24 synchronize_irq(wc->vb.pdev->irq);
25 +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0))
26 smp_mb__after_clear_bit();
27 +#else
28 + smp_mb__after_atomic();
29 +#endif
30 del_timer_sync(&wc->timer);
31 flush_workqueue(wc->wq);
32
33 @@ -3076,7 +3080,11 @@ static void __devexit te12xp_remove_one(
34 remove_sysfs_files(wc);
35
36 clear_bit(INITIALIZED, &wc->bit_flags);
37 +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0))
38 smp_mb__after_clear_bit();
39 +#else
40 + smp_mb__after_atomic();
41 +#endif
42
43 del_timer_sync(&wc->timer);
44 flush_workqueue(wc->wq);
45 Index: dahdi-linux-2.10.0.1/drivers/dahdi/wcte13xp-base.c
46 ===================================================================
47 --- dahdi-linux-2.10.0.1.orig/drivers/dahdi/wcte13xp-base.c
48 +++ dahdi-linux-2.10.0.1/drivers/dahdi/wcte13xp-base.c
49 @@ -1849,7 +1849,12 @@ static int t13x_set_linemode(struct dahd
50 clear_bit(INITIALIZED, &wc->bit_flags);
51 disable_irq(wc->xb.pdev->irq);
52
53 +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0))
54 smp_mb__after_clear_bit();
55 +#else
56 + smp_mb__after_atomic();
57 +#endif
58 +
59 del_timer_sync(&wc->timer);
60 flush_workqueue(wc->wq);
61
62 @@ -2725,7 +2730,11 @@ static void __devexit te13xp_remove_one(
63 return;
64
65 clear_bit(INITIALIZED, &wc->bit_flags);
66 +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0))
67 smp_mb__after_clear_bit();
68 +#else
69 + smp_mb__after_atomic();
70 +#endif
71
72 /* Quiesce DMA engine interrupts */
73 wcxb_stop(&wc->xb);
74 Index: dahdi-linux-2.10.0.1/drivers/dahdi/wcte43x-base.c
75 ===================================================================
76 --- dahdi-linux-2.10.0.1.orig/drivers/dahdi/wcte43x-base.c
77 +++ dahdi-linux-2.10.0.1/drivers/dahdi/wcte43x-base.c
78 @@ -3581,7 +3581,11 @@ static void __devexit t43x_remove_one(st
79 return;
80
81 wc->not_ready = 1;
82 +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0))
83 smp_mb__after_clear_bit();
84 +#else
85 + smp_mb__after_atomic();
86 +#endif
87
88 /* Stop everything */
89 wcxb_stop(&wc->xb);