diff --git a/source/components/executer/exfldio.c b/source/components/executer/exfldio.c index fe6062e66..dac0f0967 100644 --- a/source/components/executer/exfldio.c +++ b/source/components/executer/exfldio.c @@ -1,7 +1,7 @@ /****************************************************************************** * * Module Name: amfldio - Aml Field I/O - * $Revision: 1.37 $ + * $Revision: 1.38 $ * *****************************************************************************/ @@ -572,7 +572,8 @@ AcpiAmlWriteFieldDataWithUpdateRule ( /* Check if update rule needs to be applied (not if mask is all ones) */ - if (((1 << BitGranularity) -1) & ~Mask) + /* The left shift drops the bits we want to ignore. */ + if ((~Mask << (sizeof(Mask)*8 - BitGranularity)) != 0) { /* * Read the current contents of the byte/word/dword containing