From: [EMAIL PROTECTED]
Date: Wed, 08 Nov 2006 19:51:04 -0800

> From: Alan Cox <[EMAIL PROTECTED]>
> 
> Signed-off-by: Alan Cox <[EMAIL PROTECTED]>
> Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>

This fixes the most obvious 64-bit problems, but it is still very very
broken in other aspects.  It is bad enough that I feel irresponsible
turning it on in the 64-bit build.

For example, it takes an ioremap()'d value, and accesses it as a
regular cpu pointer which will explode on many architectures since
all such accesses should go through asm/io.h accessors.

Specifically I'm talking about dev->seg_ram, it is initialized like
this:

        base = ioremap(real_base,iadev->pci_map_size);  /* ioremap is not 
resolved ??? */  
 ...
        iadev->seg_ram = base + ACTUAL_SEG_RAM_BASE;  
 ...

Then used like this:

     desc1 = *(u_short *)(dev->seg_ram + dev->host_tcq_wr);

and this:

        *(u_short *) (dev->seg_ram + dev->host_tcq_wr) = 0;

and this:

           *(u_short *)(dev->seg_ram + dev->ffL.tcq_rd) = i+1;

and this:

  desc_num = *(u_short *)(dev->seg_ram + dev->ffL.tcq_rd);

and this:

     desc_num = *(u_short *)(dev->seg_ram + dev->ffL.tcq_rd);

and this:

      SchedTbl = (u16*)(dev->seg_ram+CBR_SCHED_TABLE*dev->memSize); 
 ...
      TstSchedTbl = (u16*)(SchedTbl+testSlot);  //set index and read in value
 ...
          memcpy((caddr_t)&cbrVC,(caddr_t)TstSchedTbl,sizeof(cbrVC));
 ...
       memcpy((caddr_t)TstSchedTbl, (caddr_t)&vcIndex,sizeof(TstSchedTbl));

Really, this driver has a ton of unresolved portability problems.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to