Marvell 10.20.3.3 and SLES 10 SP1

Ronald Breuer <[email protected]>
Newsgroups gmane.linux.suse.oracle.general
Message-ID <[email protected]>
Hello Arun,

I installed DLink DGE-530T (1Gbit ) with
Marvell driver (Install_v10.20.3.3.tar.bz2) on SLES 10 SP1


At first I got an error because Module.symvers was not found
as expected in

/usr/src/linux-2.6.16.46-0.14/Module.symvers

I fixed this by adding a symbolic link to the file

/usr/src/linux-2.6.16.46-0.14-obj/i386/default/Module.symvers


Than I got in trouble with

make: Entering directory `/usr/src/linux-2.6.16.46-0.14'
  CC [M]  /tmp/Sk98IQKMGaddWqZHCIEgXOOfM/all/skge.o
  CC [M]  /tmp/Sk98IQKMGaddWqZHCIEgXOOfM/all/sky2.o

/tmp/Sk98IQKMGaddWqZHCIEgXOOfM/all/sky2.c: In function "GiveTxBufferToHw":

/tmp/Sk98IQKMGaddWqZHCIEgXOOfM/all/sky2.c:1038: error:
"struct skb_shared_info" has no member named "tso_size"

make[1]: *** [/tmp/Sk98IQKMGaddWqZHCIEgXOOfM/all/sky2.o] Error 1
make: *** [_module_/tmp/Sk98IQKMGaddWqZHCIEgXOOfM/all] Error 2
make: Leaving directory `/usr/src/linux-2.6.16.46-0.14'
+++ Compiler error

I used Google and found
-----------------------------------------------------------------------
On Sat, Jul 22, 2006 at 07:59:48PM -0300, Paulo Cavalcanti wrote:
>  #ifdef NETIF_F_TSO
> -                       Mss = skb_shinfo(pSkPacket->pMBuf)->tso_size;
> +                       Mss = skb_shinfo(pSkPacket->pMBuf)->gso_size;
>                         if (Mss) {

This breaks on almost every kernel. What kernel did you build this against?
-- 
Axel.Thimm at ATrpms.net
-----------------------------------------------------------------------

I checked sky2.c and found in the source from Marvell at line 1033

#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,17)
		Mss = skb_shinfo(pSkPacket->pMBuf)->gso_size;
#else
		Mss = skb_shinfo(pSkPacket->pMBuf)->tso_size;
#endif


Ok, seams that the SLES 10 SP1 kernel use gso_size instead of tso_size.

But if i change KERNEL_VERSION(2,6,17) to KERNEL_VERSION(2,6,16) it
also failed.
My be the 'kernel version detection' also did not work.
I removed the 'if then else' end used hard coded gso_size and it works
fine.

I didn't know if this is a Suse/Novell or Marwell issue.

I also found a fix in

http://support.novell.com/techcenter/psdb/753294d78b12c46523f2a5e3815690d3.html

kernel-default-2.6.16.46-0.12.i586.rpm

fix the tso_size -> gso_size build issues in the 2.6.16.41 patch
properly (it's caused by a later Xen patch, it's not a mainline problem.)

Kind regards
Ronald Breuer



-- 
To unsubscribe, email: [email protected]
For additional commands, email: [email protected]
Please see http://www.suse.com/oracle/ before posting
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.