Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 21013
b: refs/heads/master
c: 6971ed1
h: refs/heads/master
i:
  21011: e69b00f
v: v3
  • Loading branch information
Tejun Heo authored and Jeff Garzik committed Mar 12, 2006
1 parent 78cad11 commit d3af78f
Show file tree
Hide file tree
Showing 25 changed files with 76 additions and 110 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7cafae52381395d24b83996eca7a7b53ab6a8827
refs/heads/master: 6971ed1fbbc80cae54e082aae153d5b063885d0a
2 changes: 1 addition & 1 deletion trunk/Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 16
EXTRAVERSION =-rc6
EXTRAVERSION =-rc5
NAME=Sliding Snow Leopard

# *DOCUMENTATION*
Expand Down
2 changes: 0 additions & 2 deletions trunk/arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -799,8 +799,6 @@ source "drivers/i2c/Kconfig"

source "drivers/spi/Kconfig"

source "drivers/w1/Kconfig"

source "drivers/hwmon/Kconfig"

#source "drivers/l3/Kconfig"
Expand Down
4 changes: 1 addition & 3 deletions trunk/arch/arm/kernel/asm-offsets.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,7 @@ int main(void)
DEFINE(TI_TP_VALUE, offsetof(struct thread_info, tp_value));
DEFINE(TI_FPSTATE, offsetof(struct thread_info, fpstate));
DEFINE(TI_VFPSTATE, offsetof(struct thread_info, vfpstate));
#ifdef CONFIG_IWMMXT
DEFINE(TI_IWMMXT_STATE, offsetof(struct thread_info, fpstate.iwmmxt));
#endif
DEFINE(TI_IWMMXT_STATE, (offsetof(struct thread_info, fpstate)+4)&~7);
BLANK();
DEFINE(S_R0, offsetof(struct pt_regs, ARM_r0));
DEFINE(S_R1, offsetof(struct pt_regs, ARM_r1));
Expand Down
14 changes: 10 additions & 4 deletions trunk/arch/arm/kernel/ptrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -610,12 +610,15 @@ static int ptrace_setfpregs(struct task_struct *tsk, void __user *ufp)
static int ptrace_getwmmxregs(struct task_struct *tsk, void __user *ufp)
{
struct thread_info *thread = task_thread_info(tsk);
void *ptr = &thread->fpstate;

if (!test_ti_thread_flag(thread, TIF_USING_IWMMXT))
return -ENODATA;
iwmmxt_task_disable(thread); /* force it to ram */
return copy_to_user(ufp, &thread->fpstate.iwmmxt, IWMMXT_SIZE)
? -EFAULT : 0;
/* The iWMMXt state is stored doubleword-aligned. */
if (((long) ptr) & 4)
ptr += 4;
return copy_to_user(ufp, ptr, 0x98) ? -EFAULT : 0;
}

/*
Expand All @@ -624,12 +627,15 @@ static int ptrace_getwmmxregs(struct task_struct *tsk, void __user *ufp)
static int ptrace_setwmmxregs(struct task_struct *tsk, void __user *ufp)
{
struct thread_info *thread = task_thread_info(tsk);
void *ptr = &thread->fpstate;

if (!test_ti_thread_flag(thread, TIF_USING_IWMMXT))
return -EACCES;
iwmmxt_task_release(thread); /* force a reload */
return copy_from_user(&thead->fpstate.iwmmxt, ufp, IWMMXT_SIZE)
? -EFAULT : 0;
/* The iWMMXt state is stored doubleword-aligned. */
if (((long) ptr) & 4)
ptr += 4;
return copy_from_user(ptr, ufp, 0x98) ? -EFAULT : 0;
}

#endif
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/arm/lib/muldi3.S
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ ENTRY(__aeabi_lmul)

mul xh, yl, xh
mla xh, xl, yh, xh
mov ip, xl, lsr #16
mov yh, yl, lsr #16
mov ip, xl, asr #16
mov yh, yl, asr #16
bic xl, xl, ip, lsl #16
bic yl, yl, yh, lsl #16
mla xh, yh, ip, xh
Expand Down
4 changes: 3 additions & 1 deletion trunk/arch/arm/mach-ixp4xx/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@ menu "Intel IXP4xx Implementation Options"

comment "IXP4xx Platforms"

# This entry is placed on top because otherwise it would have
# been shown as a submenu.
config MACH_NSLU2
bool
prompt "Linksys NSLU2"
prompt "NSLU2" if !(MACH_IXDP465 || MACH_IXDPG425 || ARCH_IXDP425 || ARCH_ADI_COYOTE || ARCH_AVILA || ARCH_IXCDP1100 || ARCH_PRPMC1100 || MACH_GTWX5715)
help
Say 'Y' here if you want your kernel to support Linksys's
NSLU2 NAS device. For more information on this platform,
Expand Down
3 changes: 0 additions & 3 deletions trunk/arch/arm/mach-ixp4xx/nas100d-setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -113,9 +113,6 @@ static void __init nas100d_init(void)
{
ixp4xx_sys_init();

/* gpio 14 and 15 are _not_ clocks */
*IXP4XX_GPIO_GPCLKR = 0;

nas100d_flash_resource.start = IXP4XX_EXP_BUS_BASE(0);
nas100d_flash_resource.end =
IXP4XX_EXP_BUS_BASE(0) + ixp4xx_exp_bus_size - 1;
Expand Down
7 changes: 3 additions & 4 deletions trunk/arch/arm/mm/cache-v6.S
Original file line number Diff line number Diff line change
Expand Up @@ -96,16 +96,15 @@ ENTRY(v6_coherent_user_range)
#ifdef HARVARD_CACHE
bic r0, r0, #CACHE_LINE_SIZE - 1
1: mcr p15, 0, r0, c7, c10, 1 @ clean D line
mcr p15, 0, r0, c7, c5, 1 @ invalidate I line
add r0, r0, #CACHE_LINE_SIZE
cmp r0, r1
blo 1b
#endif
mov r0, #0
mcr p15, 0, r0, c7, c5, 6 @ invalidate BTB
#ifdef HARVARD_CACHE
mov r0, #0
mcr p15, 0, r0, c7, c10, 4 @ drain write buffer
mcr p15, 0, r0, c7, c5, 0 @ I+BTB cache invalidate
#else
mcr p15, 0, r0, c7, c5, 6 @ invalidate BTB
#endif
mov pc, lr

Expand Down
6 changes: 2 additions & 4 deletions trunk/arch/arm/mm/flush.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,14 @@
static void flush_pfn_alias(unsigned long pfn, unsigned long vaddr)
{
unsigned long to = ALIAS_FLUSH_START + (CACHE_COLOUR(vaddr) << PAGE_SHIFT);
const int zero = 0;

set_pte(TOP_PTE(to), pfn_pte(pfn, PAGE_KERNEL));
flush_tlb_kernel_page(to);

asm( "mcrr p15, 0, %1, %0, c14\n"
" mcr p15, 0, %2, c7, c10, 4\n"
" mcr p15, 0, %2, c7, c5, 0\n"
" mcrr p15, 0, %1, %0, c5\n"
:
: "r" (to), "r" (to + PAGE_SIZE - L1_CACHE_BYTES), "r" (zero)
: "r" (to), "r" (to + PAGE_SIZE - L1_CACHE_BYTES)
: "cc");
}

Expand Down
13 changes: 5 additions & 8 deletions trunk/drivers/net/3c509.c
Original file line number Diff line number Diff line change
Expand Up @@ -1574,7 +1574,6 @@ MODULE_LICENSE("GPL");

static int __init el3_init_module(void)
{
int ret = 0;
el3_cards = 0;

if (debug >= 0)
Expand All @@ -1590,16 +1589,14 @@ static int __init el3_init_module(void)
}

#ifdef CONFIG_EISA
ret = eisa_driver_register(&el3_eisa_driver);
if (eisa_driver_register (&el3_eisa_driver) < 0) {
eisa_driver_unregister (&el3_eisa_driver);
}
#endif
#ifdef CONFIG_MCA
{
int err = mca_register_driver(&el3_mca_driver);
if (ret == 0)
ret = err;
}
mca_register_driver(&el3_mca_driver);
#endif
return ret;
return 0;
}

static void __exit el3_cleanup_module(void)
Expand Down
3 changes: 1 addition & 2 deletions trunk/drivers/net/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1087,8 +1087,7 @@ config NE2000
without a specific driver are compatible with NE2000.

If you have a PCI NE2000 card however, say N here and Y to "PCI
NE2000 and clone support" under "EISA, VLB, PCI and on board
controllers" below. If you have a NE2000 card and are running on
NE2000 support", above. If you have a NE2000 card and are running on
an MCA system (a bus system used on some IBM PS/2 computers and
laptops), say N here and Y to "NE/2 (ne2000 MCA version) support",
below.
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/net/de620.c
Original file line number Diff line number Diff line change
Expand Up @@ -1012,7 +1012,7 @@ static int __init read_eeprom(struct net_device *dev)
#ifdef MODULE
static struct net_device *de620_dev;

int __init init_module(void)
int init_module(void)
{
de620_dev = de620_probe(-1);
if (IS_ERR(de620_dev))
Expand Down
25 changes: 10 additions & 15 deletions trunk/drivers/net/dl2k.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@
*/
#define DRV_NAME "D-Link DL2000-based linux driver"
#define DRV_VERSION "v1.17b"
#define DRV_RELDATE "2006/03/10"
#define DRV_VERSION "v1.17a"
#define DRV_RELDATE "2002/10/04"
#include "dl2k.h"

static char version[] __devinitdata =
Expand Down Expand Up @@ -765,7 +765,7 @@ rio_free_tx (struct net_device *dev, int irq)
break;
skb = np->tx_skbuff[entry];
pci_unmap_single (np->pdev,
np->tx_ring[entry].fraginfo & 0xffffffffffff,
np->tx_ring[entry].fraginfo,
skb->len, PCI_DMA_TODEVICE);
if (irq)
dev_kfree_skb_irq (skb);
Expand Down Expand Up @@ -892,16 +892,14 @@ receive_packet (struct net_device *dev)

/* Small skbuffs for short packets */
if (pkt_len > copy_thresh) {
pci_unmap_single (np->pdev,
desc->fraginfo & 0xffffffffffff,
pci_unmap_single (np->pdev, desc->fraginfo,
np->rx_buf_sz,
PCI_DMA_FROMDEVICE);
skb_put (skb = np->rx_skbuff[entry], pkt_len);
np->rx_skbuff[entry] = NULL;
} else if ((skb = dev_alloc_skb (pkt_len + 2)) != NULL) {
pci_dma_sync_single_for_cpu(np->pdev,
desc->fraginfo &
0xffffffffffff,
desc->fraginfo,
np->rx_buf_sz,
PCI_DMA_FROMDEVICE);
skb->dev = dev;
Expand All @@ -912,8 +910,7 @@ receive_packet (struct net_device *dev)
pkt_len, 0);
skb_put (skb, pkt_len);
pci_dma_sync_single_for_device(np->pdev,
desc->fraginfo &
0xffffffffffff,
desc->fraginfo,
np->rx_buf_sz,
PCI_DMA_FROMDEVICE);
}
Expand Down Expand Up @@ -1799,19 +1796,17 @@ rio_close (struct net_device *dev)
np->rx_ring[i].fraginfo = 0;
skb = np->rx_skbuff[i];
if (skb) {
pci_unmap_single(np->pdev,
np->rx_ring[i].fraginfo & 0xffffffffffff,
skb->len, PCI_DMA_FROMDEVICE);
pci_unmap_single (np->pdev, np->rx_ring[i].fraginfo,
skb->len, PCI_DMA_FROMDEVICE);
dev_kfree_skb (skb);
np->rx_skbuff[i] = NULL;
}
}
for (i = 0; i < TX_RING_SIZE; i++) {
skb = np->tx_skbuff[i];
if (skb) {
pci_unmap_single(np->pdev,
np->tx_ring[i].fraginfo & 0xffffffffffff,
skb->len, PCI_DMA_TODEVICE);
pci_unmap_single (np->pdev, np->tx_ring[i].fraginfo,
skb->len, PCI_DMA_TODEVICE);
dev_kfree_skb (skb);
np->tx_skbuff[i] = NULL;
}
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/net/e1000/e1000_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2917,7 +2917,7 @@ e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
if (!__pskb_pull_tail(skb, pull_size)) {
printk(KERN_ERR "__pskb_pull_tail failed.\n");
dev_kfree_skb_any(skb);
return NETDEV_TX_OK;
return -EFAULT;
}
len = skb->len - skb->data_len;
}
Expand Down
32 changes: 11 additions & 21 deletions trunk/drivers/net/sky2.c
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@
#define TX_RING_SIZE 512
#define TX_DEF_PENDING (TX_RING_SIZE - 1)
#define TX_MIN_PENDING 64
#define MAX_SKB_TX_LE (4 + (sizeof(dma_addr_t)/sizeof(u32))*MAX_SKB_FRAGS)
#define MAX_SKB_TX_LE (4 + 2*MAX_SKB_FRAGS)

#define STATUS_RING_SIZE 2048 /* 2 ports * (TX + 2*RX) */
#define STATUS_LE_BYTES (STATUS_RING_SIZE*sizeof(struct sky2_status_le))
Expand Down Expand Up @@ -622,8 +622,8 @@ static void sky2_mac_init(struct sky2_hw *hw, unsigned port)

/* Configure Rx MAC FIFO */
sky2_write8(hw, SK_REG(port, RX_GMF_CTRL_T), GMF_RST_CLR);
sky2_write32(hw, SK_REG(port, RX_GMF_CTRL_T),
GMF_OPER_ON | GMF_RX_F_FL_ON);
sky2_write16(hw, SK_REG(port, RX_GMF_CTRL_T),
GMF_RX_CTRL_DEF);

/* Flush Rx MAC FIFO on any flow control or error */
sky2_write16(hw, SK_REG(port, RX_GMF_FL_MSK), GMR_FS_ANY_ERR);
Expand Down Expand Up @@ -995,10 +995,6 @@ static int sky2_rx_start(struct sky2_port *sky2)
sky2_rx_add(sky2, re->mapaddr);
}

/* Truncate oversize frames */
sky2_write16(hw, SK_REG(sky2->port, RX_GMF_TR_THR), sky2->rx_bufsize - 8);
sky2_write32(hw, SK_REG(sky2->port, RX_GMF_CTRL_T), RX_TRUNC_ON);

/* Tell chip about available buffers */
sky2_write16(hw, Y2_QADDR(rxq, PREF_UNIT_PUT_IDX), sky2->rx_put);
sky2->rx_last_put = sky2_read16(hw, Y2_QADDR(rxq, PREF_UNIT_PUT_IDX));
Expand Down Expand Up @@ -1149,7 +1145,6 @@ static int sky2_xmit_frame(struct sk_buff *skb, struct net_device *dev)
struct sky2_tx_le *le = NULL;
struct tx_ring_info *re;
unsigned i, len;
int avail;
dma_addr_t mapping;
u32 addr64;
u16 mss;
Expand Down Expand Up @@ -1292,16 +1287,12 @@ static int sky2_xmit_frame(struct sk_buff *skb, struct net_device *dev)
re->idx = sky2->tx_prod;
le->ctrl |= EOP;

avail = tx_avail(sky2);
if (mss != 0 || avail < TX_MIN_PENDING) {
le->ctrl |= FRC_STAT;
if (avail <= MAX_SKB_TX_LE)
netif_stop_queue(dev);
}

sky2_put_idx(hw, txqaddr[sky2->port], sky2->tx_prod,
&sky2->tx_last_put, TX_RING_SIZE);

if (tx_avail(sky2) <= MAX_SKB_TX_LE)
netif_stop_queue(dev);

out_unlock:
spin_unlock(&sky2->tx_lock);

Expand Down Expand Up @@ -1716,12 +1707,10 @@ static void sky2_tx_timeout(struct net_device *dev)


#define roundup(x, y) ((((x)+((y)-1))/(y))*(y))
/* Want receive buffer size to be multiple of 64 bits
* and incl room for vlan and truncation
*/
/* Want receive buffer size to be multiple of 64 bits, and incl room for vlan */
static inline unsigned sky2_buf_size(int mtu)
{
return roundup(mtu + ETH_HLEN + VLAN_HLEN, 8) + 8;
return roundup(mtu + ETH_HLEN + 4, 8);
}

static int sky2_change_mtu(struct net_device *dev, int new_mtu)
Expand Down Expand Up @@ -1804,7 +1793,7 @@ static struct sk_buff *sky2_receive(struct sky2_port *sky2,
if (!(status & GMR_FS_RX_OK))
goto resubmit;

if (length > sky2->netdev->mtu + ETH_HLEN)
if ((status >> 16) != length || length > sky2->rx_bufsize)
goto oversize;

if (length < copybreak) {
Expand Down Expand Up @@ -3254,7 +3243,8 @@ static int __devinit sky2_probe(struct pci_dev *pdev,
}
}

err = request_irq(pdev->irq, sky2_intr, SA_SHIRQ, DRV_NAME, hw);
err = request_irq(pdev->irq, sky2_intr, SA_SHIRQ | SA_SAMPLE_RANDOM,
DRV_NAME, hw);
if (err) {
printk(KERN_ERR PFX "%s: cannot assign irq %d\n",
pci_name(pdev), pdev->irq);
Expand Down
2 changes: 2 additions & 0 deletions trunk/drivers/net/tg3.c
Original file line number Diff line number Diff line change
Expand Up @@ -10543,6 +10543,8 @@ static char * __devinit tg3_bus_string(struct tg3 *tp, char *str)
strcat(str, "66MHz");
else if (clock_ctrl == 6)
strcat(str, "100MHz");
else if (clock_ctrl == 7)
strcat(str, "133MHz");
} else {
strcpy(str, "PCI:");
if (tp->tg3_flags & TG3_FLAG_PCI_HIGH_SPEED)
Expand Down
Loading

0 comments on commit d3af78f

Please sign in to comment.