Re: [PATCH 06/12] drm: fix __alpha__ PCI lookup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 23, 2014 at 05:26:41PM +0200, David Herrmann wrote:
> Testing the return value of list_entry() for NULL is a no-op (as it is
> just a fancy container_of() / offsetof()). Drop the superfluous if-clause
> and instead verify the actual root-node is available. This is probably
> what it was meant to test for from the beginning, anyway.
> 
> Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx>

Oh drm handling of alpha. I've tried to dig out how this all works
together and it's dangerous. drm totally ignored this thing called dma api
so needed to handle cpu phys address vs. bus address offsets itself. If
you munge around also in the agp code (which is really only used by drm)
then you'll notice that it's handled completely differently on alpha vs.
ppc.

Tbh I'd wait until this is all officially dead and then rip it all out.
-Daniel

> ---
>  drivers/gpu/drm/drm_fops.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_fops.c b/drivers/gpu/drm/drm_fops.c
> index a402061..afba0bf 100644
> --- a/drivers/gpu/drm/drm_fops.c
> +++ b/drivers/gpu/drm/drm_fops.c
> @@ -330,11 +330,11 @@ static int drm_open_helper(struct file *filp, struct drm_minor *minor)
>  			dev->hose = pci_dev->sysdata;
>  			pci_dev_put(pci_dev);
>  		}
> -		if (!dev->hose) {
> +
> +		if (!dev->hose && pci_root_buses.next) {
>  			struct pci_bus *b = list_entry(pci_root_buses.next,
> -				struct pci_bus, node);
> -			if (b)
> -				dev->hose = b->sysdata;
> +						       struct pci_bus, node);
> +			dev->hose = b->sysdata;
>  		}
>  	}
>  #endif
> -- 
> 2.0.2
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux