Messages in this thread | | | Date | Wed, 21 May 2014 20:29:39 -0700 | From | Guenter Roeck <> | Subject | Re: [PATCH 1/1] drivers/scsi/tmscsim.c: replace shift loop by ilog2 |
| |
On 05/21/2014 06:03 PM, Joe Perches wrote: > On Wed, 2014-05-21 at 17:28 -0700, Guenter Roeck wrote: >> On Tue, May 20, 2014 at 10:06:42AM -0700, Joe Perches wrote: >>> On Tue, 2014-05-20 at 18:48 +0200, Fabian Frederick wrote: >>>> Cc: Kurt Garloff <garloff@suse.de> >>>> Cc: Andrew Morton <akpm@linux-foundation.org> >>>> Signed-off-by: Fabian Frederick <fabf@skynet.be> >>>> --- >>>> drivers/scsi/tmscsim.c | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/drivers/scsi/tmscsim.c b/drivers/scsi/tmscsim.c >>> [] >>>> @@ -1611,7 +1611,7 @@ dc390_Reselect( struct dc390_acb* pACB ) >>>> printk (KERN_ERR "DC390: Reselection must select host adapter: %02x!\n", lun); >>>> else >>>> lun ^= 1 << pACB->pScsiHost->this_id; /* Mask AdapterID */ >>>> - id = 0; while (lun >>= 1) id++; >>>> + id = ilog2(lun); >>>> /* Get LUN */ >>>> lun = DC390_read8 (ScsiFifo); >>>> if (!(lun & IDENTIFY_BASE)) printk (KERN_ERR "DC390: Resel: Expect identify message!\n"); >>> >>> Hey Fabian. >>> >>> You've submitted several of these now. >>> >>> Have you gone through all of these to make sure >>> that the ilog2(<foo>) uses are always using a >>> non-zero <foo>? >>> >> Maybe I am missing something. Why not just use fls() ? > > fls strains Andrew Morton's brain. > > https://lkml.org/lkml/2014/5/19/771 >
:-).
On the other side fls(1) == 1 while ilog2(1) == 0. So some test is necessary anyway.
Guenter
| |