dahdi: smp_mb_{before,after}_clear_bit -> smp_mb_{before,after}_atomic.
This is needed to compile against upstream Linux 3.18 since commit
"locking: Remove deprecated smp_mb__() barriers" [1].
[1] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=2e39465abc4b7856a0ea6fcf4f
Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com>
(cherry picked from commit 378986841c
)
This commit is contained in:
parent
c4356304e5
commit
4f0cf5fb98
@ -3823,7 +3823,7 @@ static void wcaxx_back_out_gracefully(struct wcaxx *wc)
|
|||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
clear_bit(INITIALIZED, &wc->bit_flags);
|
clear_bit(INITIALIZED, &wc->bit_flags);
|
||||||
smp_mb__after_clear_bit();
|
smp_mb__after_atomic();
|
||||||
|
|
||||||
/* Make sure we're not on the card list anymore. */
|
/* Make sure we're not on the card list anymore. */
|
||||||
mutex_lock(&card_list_lock);
|
mutex_lock(&card_list_lock);
|
||||||
|
@ -2110,7 +2110,7 @@ static int t1xxp_set_linemode(struct dahdi_span *span, enum spantypes linemode)
|
|||||||
* them. */
|
* them. */
|
||||||
clear_bit(INITIALIZED, &wc->bit_flags);
|
clear_bit(INITIALIZED, &wc->bit_flags);
|
||||||
synchronize_irq(wc->vb.pdev->irq);
|
synchronize_irq(wc->vb.pdev->irq);
|
||||||
smp_mb__after_clear_bit();
|
smp_mb__after_atomic();
|
||||||
del_timer_sync(&wc->timer);
|
del_timer_sync(&wc->timer);
|
||||||
flush_workqueue(wc->wq);
|
flush_workqueue(wc->wq);
|
||||||
|
|
||||||
@ -3076,7 +3076,7 @@ static void __devexit te12xp_remove_one(struct pci_dev *pdev)
|
|||||||
remove_sysfs_files(wc);
|
remove_sysfs_files(wc);
|
||||||
|
|
||||||
clear_bit(INITIALIZED, &wc->bit_flags);
|
clear_bit(INITIALIZED, &wc->bit_flags);
|
||||||
smp_mb__after_clear_bit();
|
smp_mb__after_atomic();
|
||||||
|
|
||||||
del_timer_sync(&wc->timer);
|
del_timer_sync(&wc->timer);
|
||||||
flush_workqueue(wc->wq);
|
flush_workqueue(wc->wq);
|
||||||
|
@ -1849,7 +1849,7 @@ static int t13x_set_linemode(struct dahdi_span *span, enum spantypes linemode)
|
|||||||
clear_bit(INITIALIZED, &wc->bit_flags);
|
clear_bit(INITIALIZED, &wc->bit_flags);
|
||||||
disable_irq(wc->xb.pdev->irq);
|
disable_irq(wc->xb.pdev->irq);
|
||||||
|
|
||||||
smp_mb__after_clear_bit();
|
smp_mb__after_atomic();
|
||||||
del_timer_sync(&wc->timer);
|
del_timer_sync(&wc->timer);
|
||||||
flush_workqueue(wc->wq);
|
flush_workqueue(wc->wq);
|
||||||
|
|
||||||
@ -2725,7 +2725,7 @@ static void __devexit te13xp_remove_one(struct pci_dev *pdev)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
clear_bit(INITIALIZED, &wc->bit_flags);
|
clear_bit(INITIALIZED, &wc->bit_flags);
|
||||||
smp_mb__after_clear_bit();
|
smp_mb__after_atomic();
|
||||||
|
|
||||||
/* Quiesce DMA engine interrupts */
|
/* Quiesce DMA engine interrupts */
|
||||||
wcxb_stop(&wc->xb);
|
wcxb_stop(&wc->xb);
|
||||||
|
@ -3581,7 +3581,7 @@ static void __devexit t43x_remove_one(struct pci_dev *pdev)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
wc->not_ready = 1;
|
wc->not_ready = 1;
|
||||||
smp_mb__after_clear_bit();
|
smp_mb__after_atomic();
|
||||||
|
|
||||||
/* Stop everything */
|
/* Stop everything */
|
||||||
wcxb_stop(&wc->xb);
|
wcxb_stop(&wc->xb);
|
||||||
|
@ -1408,6 +1408,17 @@ static inline short dahdi_txtone_nextsample(struct dahdi_chan *ss)
|
|||||||
/*! Maximum audio mask */
|
/*! Maximum audio mask */
|
||||||
#define DAHDI_FORMAT_AUDIO_MASK ((1 << 16) - 1)
|
#define DAHDI_FORMAT_AUDIO_MASK ((1 << 16) - 1)
|
||||||
|
|
||||||
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 0)
|
||||||
|
|
||||||
|
/* DAHDI only was using the xxx_clear_bit variants. */
|
||||||
|
#ifndef smp_mb__before_atomic
|
||||||
|
#define smp_mb__before_atomic smp_mb__before_clear_bit
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef smp_mb__after_atomic
|
||||||
|
#define smp_mb__after_atomic smp_mb__after_clear_bit
|
||||||
|
#endif
|
||||||
|
|
||||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
|
||||||
#ifdef RHEL_RELEASE_VERSION
|
#ifdef RHEL_RELEASE_VERSION
|
||||||
#if RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(6, 5)
|
#if RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(6, 5)
|
||||||
@ -1523,6 +1534,7 @@ static inline int strcasecmp(const char *s1, const char *s2)
|
|||||||
#endif /* 2.6.27 */
|
#endif /* 2.6.27 */
|
||||||
#endif /* 2.6.31 */
|
#endif /* 2.6.31 */
|
||||||
#endif /* 3.10.0 */
|
#endif /* 3.10.0 */
|
||||||
|
#endif /* 3.16.0 */
|
||||||
|
|
||||||
#ifndef DEFINE_SPINLOCK
|
#ifndef DEFINE_SPINLOCK
|
||||||
#define DEFINE_SPINLOCK(x) spinlock_t x = SPIN_LOCK_UNLOCKED
|
#define DEFINE_SPINLOCK(x) spinlock_t x = SPIN_LOCK_UNLOCKED
|
||||||
|
Loading…
Reference in New Issue
Block a user