File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -473,15 +473,19 @@ static inline unsigned _ubh_find_last_zero_bit_(
473473static inline int _ubh_isblockset_ (struct ufs_sb_private_info * uspi ,
474474 struct ufs_buffer_head * ubh , unsigned begin , unsigned block )
475475{
476+ u8 mask ;
476477 switch (uspi -> s_fpb ) {
477478 case 8 :
478479 return (* ubh_get_addr (ubh , begin + block ) == 0xff );
479480 case 4 :
480- return (* ubh_get_addr (ubh , begin + (block >> 1 )) == (0x0f << ((block & 0x01 ) << 2 )));
481+ mask = 0x0f << ((block & 0x01 ) << 2 );
482+ return (* ubh_get_addr (ubh , begin + (block >> 1 )) & mask ) == mask ;
481483 case 2 :
482- return (* ubh_get_addr (ubh , begin + (block >> 2 )) == (0x03 << ((block & 0x03 ) << 1 )));
484+ mask = 0x03 << ((block & 0x03 ) << 1 );
485+ return (* ubh_get_addr (ubh , begin + (block >> 2 )) & mask ) == mask ;
483486 case 1 :
484- return (* ubh_get_addr (ubh , begin + (block >> 3 )) == (0x01 << (block & 0x07 )));
487+ mask = 0x01 << (block & 0x07 );
488+ return (* ubh_get_addr (ubh , begin + (block >> 3 )) & mask ) == mask ;
485489 }
486490 return 0 ;
487491}
You can’t perform that action at this time.
0 commit comments