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

Bartlomiej Zolnierkiewicz
2008-09-07T18:27:41Z

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.