[Prism54-devel] Re: Problems with a PCI SMC2802W

Luis R. Rodriguez mcgrof at ruslug.rutgers.edu
Thu Mar 10 16:30:07 UTC 2005


On Thu, Mar 10, 2005 at 02:36:08AM -0800, Chris Wedgwood wrote:
> On Thu, Mar 10, 2005 at 05:28:03AM -0500, Adam K Kirchhoff wrote:
> 
> > Unfortunately, the latest svn checkout doesn't want to compile for
> > me on 2.6.11:
> 
> I have these diffs.  Forward to the list if you like since it never
> accepts email from me (grr)
> 
> 
> Index: ksrc/islpci_eth.c
> ===================================================================
> --- ksrc/islpci_eth.c	(revision 528)
> +++ ksrc/islpci_eth.c	(working copy)
> @@ -90,7 +90,9 @@
>  	struct sk_buff *newskb;
>  	int newskb_offset;
>  	unsigned long flags;
> +#ifdef CONFIG_PRISM54_WDS
>  	unsigned char wds_mac[6];
> +#endif
>  	u32 curr_frag;
>  	int err = 0;
>  
> @@ -362,9 +364,9 @@
>  	struct sk_buff *skb;
>  	u16 size;
>  	u32 index, offset;
> -	unsigned char *src;
>  	int discard = 0;
>  #ifdef CONFIG_PRISM54_WDS
> +	unsigned char *src;
>  	struct wds_priv *wdsp = priv->wdsp;
>  	struct net_device *wds_dev = NULL;
>  	struct wds_net_local *wds_lp;
> Index: ksrc/islpci_hotplug.c
> ===================================================================
> --- ksrc/islpci_hotplug.c	(revision 528)
> +++ ksrc/islpci_hotplug.c	(working copy)
> @@ -277,7 +277,7 @@
>  	printk(KERN_NOTICE "%s: got suspend request (state %d)\n",
>  	       ndev->name, state);
>  
> -	pci_save_state(pdev, priv->pci_state);
> +	pci_save_state(pdev);
>  
>  	/* tell the device not to trigger interrupts for now... */
>  	isl38xx_disable_interrupts(priv->device_base);
> @@ -303,7 +303,7 @@
>  
>  	printk(KERN_NOTICE "%s: got resume request\n", ndev->name);
>  
> -	pci_restore_state(pdev, priv->pci_state);
> +	pci_restore_state(pdev);
>  
>  	/* alright let's go into the PREBOOT state */
>  	islpci_reset(priv, 1);
> Index: ksrc/islpci_dev.h
> ===================================================================
> --- ksrc/islpci_dev.h	(revision 528)
> +++ ksrc/islpci_dev.h	(working copy)
> @@ -112,7 +112,6 @@
>  
>  	/* PCI bus allocation & configuration members */
>  	struct pci_dev *pdev;	/* PCI structure information */
> -	u32 pci_state[16];	/* used for suspend/resume */
>  	char firmware[33];
>  
>  	void __iomem *device_base;	/* ioremapped device base address */
> Index: ksrc/islpci_mgt.c
> ===================================================================
> --- ksrc/islpci_mgt.c	(revision 528)
> +++ ksrc/islpci_mgt.c	(working copy)
> @@ -345,7 +345,7 @@
>  		}
>  
>  		/* Ensure the results of device DMA are visible to the CPU. */
> -		pci_dma_sync_single(priv->pdev, buf->pci_addr,
> +		pci_dma_sync_single_for_cpu(priv->pdev, buf->pci_addr,
>  				frag_len, PCI_DMA_FROMDEVICE);
>  
>  		/* Perform endianess conversion for PIMFOR header in-place. */

Thanks, but the pci_[restore|save]_state changes requires testing/backporting to 2.4. 
Same goes for pci_dma_sync_single_for_cpu(). We can macro this but ugh, it's just so 
horrible.

Margit, where are you?

Jeff, what's better a prismcompat24.h edit or a check for
LINUX_VERSION_CODE here?

	Luis

-- 
GnuPG Key fingerprint = 113F B290 C6D2 0251 4D84  A34A 6ADD 4937 E20A 525E
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://prism54.org/pipermail/prism54-devel/attachments/20050310/d2d1e1a5/attachment.pgp


More information about the Prism54-devel mailing list