_raw_yield();
 }
 
-void _raw_spin_lock_wait(raw_spinlock_t *lp, unsigned int pc)
+void _raw_spin_lock_wait(raw_spinlock_t *lp)
 {
        int count = spin_retry;
        unsigned int cpu = ~smp_processor_id();
                }
                if (__raw_spin_is_locked(lp))
                        continue;
-               if (_raw_compare_and_swap(&lp->owner_cpu, 0, cpu) == 0) {
-                       lp->owner_pc = pc;
+               if (_raw_compare_and_swap(&lp->owner_cpu, 0, cpu) == 0)
                        return;
-               }
        }
 }
 EXPORT_SYMBOL(_raw_spin_lock_wait);
 
-int _raw_spin_trylock_retry(raw_spinlock_t *lp, unsigned int pc)
+int _raw_spin_trylock_retry(raw_spinlock_t *lp)
 {
        unsigned int cpu = ~smp_processor_id();
        int count;
        for (count = spin_retry; count > 0; count--) {
                if (__raw_spin_is_locked(lp))
                        continue;
-               if (_raw_compare_and_swap(&lp->owner_cpu, 0, cpu) == 0) {
-                       lp->owner_pc = pc;
+               if (_raw_compare_and_swap(&lp->owner_cpu, 0, cpu) == 0)
                        return 1;
-               }
        }
        return 0;
 }
 
        do { while (__raw_spin_is_locked(lock)) \
                 _raw_spin_relax(lock); } while (0)
 
-extern void _raw_spin_lock_wait(raw_spinlock_t *, unsigned int pc);
-extern int _raw_spin_trylock_retry(raw_spinlock_t *, unsigned int pc);
+extern void _raw_spin_lock_wait(raw_spinlock_t *);
+extern int _raw_spin_trylock_retry(raw_spinlock_t *);
 extern void _raw_spin_relax(raw_spinlock_t *lock);
 
 static inline void __raw_spin_lock(raw_spinlock_t *lp)
 {
-       unsigned long pc = 1 | (unsigned long) __builtin_return_address(0);
        int old;
 
        old = _raw_compare_and_swap(&lp->owner_cpu, 0, ~smp_processor_id());
-       if (likely(old == 0)) {
-               lp->owner_pc = pc;
+       if (likely(old == 0))
                return;
-       }
-       _raw_spin_lock_wait(lp, pc);
+       _raw_spin_lock_wait(lp);
 }
 
 static inline int __raw_spin_trylock(raw_spinlock_t *lp)
 {
-       unsigned long pc = 1 | (unsigned long) __builtin_return_address(0);
        int old;
 
        old = _raw_compare_and_swap(&lp->owner_cpu, 0, ~smp_processor_id());
-       if (likely(old == 0)) {
-               lp->owner_pc = pc;
+       if (likely(old == 0))
                return 1;
-       }
-       return _raw_spin_trylock_retry(lp, pc);
+       return _raw_spin_trylock_retry(lp);
 }
 
 static inline void __raw_spin_unlock(raw_spinlock_t *lp)
 {
-       lp->owner_pc = 0;
        _raw_compare_and_swap(&lp->owner_cpu, lp->owner_cpu, 0);
 }