From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
To: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: Roel Kluin <roel.kluin@gmail.com>,
linux-ide@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: ide_timer_expiry() - shouldn't 'wait' be int?
Date: Mon, 02 Mar 2009 18:53:20 +0300 [thread overview]
Message-ID: <49AC00F0.8080901@ru.mvista.com> (raw)
In-Reply-To: <200903021629.13651.bzolnier@gmail.com>
Bartlomiej Zolnierkiewicz wrote:
>>>On Monday 02 March 2009, Sergei Shtylyov wrote:
>>>>Roel Kluin wrote:
>>>>>vi drivers/ide/ide-io.c +906 and note:
>>>>>void ide_timer_expiry (unsigned long data)
>>>>>{
>>>>> ide_expiry_t *expiry = hwif->expiry;
>>>>> ...
>>>>> unsigned long wait = -1;
>>>> Hm, haven't nothiced that this is *unsigned*.
>>>>> ...
>>>>> if (expiry) {
>>>>> ...
>>>>> wait = expiry(drive);
>>>>> if (wait > 0) { /* continue */
>>>>>also note that in include/linux/ide.h:883:
>>>>>typedef int (ide_expiry_t)(ide_drive_t *);
>>>>>doesn't this mean that expiry returns int, and wait therefore should
>>>>>be int as well?
>>>> It rather means that ide_expiry_t() should return unsigned.
>>>Seconded. Roel, could you also handle it?
>>>[ However since this is 2.6.30 stuff and there has been much work in
>>> this area recently please base in top of linux-next or pata-2.6 tree. ]
>>>> However, you're right as ide_dma_timeout_retry() takes *int* as a 2nd
>>>>argument.
>>>Though it works fine (by a luck :) we should also fix it while we're at it.
>>I'm a little confused, do you want wait to be int, as my patch does below,
>>or do you want the typedef to be:
>>
>>typedef unsigned long (ide_expiry_t)(ide_drive_t *);
>
>
> Both. ;)
No, not both really. Sorry for getting everyone confused.
>>If the latter, I think the functions that expiry points to have to be adapted as
>>well, right?
>>this is against tip-latest, feel free to modify the changelog.
> Thanks! This is exactly what I meant for 2.6.29 (one-line bugfix),
> for 2.6.30 we should also do s/int/unsigned long/ cleanup (on top of
> the current linux-next/pata-2.6 tree).
Er, what cleanup?
>>------------------------------>8-------------8<---------------------------------
>>expiry() returns int, negative expiry() return values won't be noticed.
In fact, -1 will still get noticed by its only user,
ide_dma_timeout_retry() because 'wait' will be cast back to int.
MBR, Sergei
next prev parent reply other threads:[~2009-03-02 15:52 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-02 14:18 ide_timer_expiry() - shouldn't 'wait' be int? Roel Kluin
2009-03-02 14:38 ` Sergei Shtylyov
2009-03-02 14:58 ` Bartlomiej Zolnierkiewicz
2009-03-02 15:17 ` Roel Kluin
2009-03-02 15:29 ` Bartlomiej Zolnierkiewicz
2009-03-02 15:53 ` Sergei Shtylyov [this message]
2009-03-05 12:59 ` Bartlomiej Zolnierkiewicz
2009-03-02 15:39 ` Sergei Shtylyov
2009-03-02 15:45 ` Bartlomiej Zolnierkiewicz
2009-03-02 15:45 ` Sergei Shtylyov
2009-03-02 15:51 ` Bartlomiej Zolnierkiewicz
2009-03-02 16:15 ` Bartlomiej Zolnierkiewicz
2009-03-02 14:50 ` Bartlomiej Zolnierkiewicz
2009-03-02 15:43 ` Sergei Shtylyov
2009-03-02 15:51 ` Bartlomiej Zolnierkiewicz
2009-03-02 15:56 ` Sergei Shtylyov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49AC00F0.8080901@ru.mvista.com \
--to=sshtylyov@ru.mvista.com \
--cc=akpm@linux-foundation.org \
--cc=bzolnier@gmail.com \
--cc=linux-ide@vger.kernel.org \
--cc=roel.kluin@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.