Re: [target:for-next 51/51] ERROR: "__cmpxchg_called_with_bad_pointer" undefined!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2014-01-29 at 14:51 +0800, kbuild test robot wrote:
> tree:   git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending.git for-next
> head:   7769401d351d54d5cbcb6400ec60c0b916e87a7e
> commit: 7769401d351d54d5cbcb6400ec60c0b916e87a7e [51/51] target: Fix percpu_ref_put race in transport_lun_remove_cmd
> config: make ARCH=mips allmodconfig
> 
> All error/warnings:
> 
> >> ERROR: "__cmpxchg_called_with_bad_pointer" undefined!
> 

So MIPS doesn't like typedef bool as 1-byte char being used for cmpxchg
-> ll/sc instructions..

Fixing this up now by making se_cmd->lun_ref_active use a single word
instead.

Thanks Fengguang!

--nab

diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h
index d284186..909dacb 100644
--- a/include/target/target_core_base.h
+++ b/include/target/target_core_base.h
@@ -552,7 +552,7 @@ struct se_cmd {
        void                    *priv;
 
        /* Used for lun->lun_ref counting */
-       bool                    lun_ref_active;
+       int                     lun_ref_active;
 
        /* DIF related members */
        enum target_prot_op     prot_op;




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux