Re: [PATCH] Fix pointer arithmetic in hpt3xx driver code (3rd try)

Masoud Sharbiani
2008-09-08T17:22:20Z

On Sun, Sep 07, 2008 at 08:10:03PM +0200, Bartlomiej Zolnierkiewicz wrote:
>
> Hi,
>
> Masoud/Sergei: sorry for the bug and thanks for fixing it.
>
> On Sunday 07 September 2008, Sergei Shtylyov wrote:
> > Hello, I wrote:
> > >> diff --git a/drivers/ide/pci/hpt366.c b/drivers/ide/pci/hpt366.c
> > >> index eb107ee..4eae284 100644
> > >> --- a/drivers/ide/pci/hpt366.c
> > >> +++ b/drivers/ide/pci/hpt366.c
> > >> @@ -613,6 +613,14 @@ static int check_in_drive_list(ide_drive_t
> > >> *drive, const char **list)
> > >> return 0;
> > >> }
> > >>
> > >> +static struct hpt_info *hpt3xx_get_info(struct device *dev)
> > >> +{
> > >> + struct ide_host *host = pci_get_drvdata(to_pci_dev(pci_dev));
> > >>
> > >
> > > Oops, this just won't compile. :-/
> >
> > BTW, there's no need to invoke to_pci_dev() at all since
> > pci_get_drvdata(dev) boils down to dev_get_drvdata(&dev->dev) call. So,
> > in order not to waste time on useless pointer tricks, we should just
> > invoke the latter here.
>
> I corrected this and applied the patch.

Thanks!

Masoud