Messages in this thread | | | Date | Wed, 21 May 2014 14:32:27 +0200 (CEST) | From | Sebastian Ott <> | Subject | Re: [PATCH 1/1] drivers/s390/cio/qdio_main.c: replace shift loop by ilog2 |
| |
On Tue, 20 May 2014, Joe Perches wrote: > On Tue, 2014-05-20 at 18:37 +0200, Fabian Frederick wrote: > > This is untested. > [] > > diff --git a/drivers/s390/cio/qdio_main.c b/drivers/s390/cio/qdio_main.c > [] > > @@ -411,15 +411,14 @@ static inline void qdio_stop_polling(struct qdio_q *q) > > > > static inline void account_sbals(struct qdio_q *q, int count) > > { > > - int pos = 0; > > + int pos; > > > > q->q_stats.nr_sbal_total += count; > > if (count == QDIO_MAX_BUFFERS_MASK) { > > q->q_stats.nr_sbals[7]++; > > return; > > } > > - while (count >>= 1) > > - pos++; > > + pos = ilog2(count); > > What guarantees count > 0 here?
We would already be screwed when called with count < 0. Ursula, do the callers assure that count is positive?
Regards, Sebastian > > count may be better unsigned. > >
| |