New: vanilla kernel 2.6.25.4 + TLAN NIC driver oops or so...
Subsystems (2)
A message that is not in the archive (sent off-list or not yet received): [email protected]/
(switched to email. Please respond via emailed reply-to-all, not via the bugzilla web interface).
Quoted 17 lines · On Thu, 29 May 2008 22:22:36 -0700 (PDT) [email protected] wrote:
http://bugzilla.kernel.org/show_bug.cgi?id=10835
Summary: vanilla kernel 2.6.25.4 + TLAN NIC driver oops or so... Product: Drivers Version: 2.5 KernelVersion: 2.6.25.4 Platform: All OS/Version: Linux Tree: Mainline Status: NEW Severity: normal Priority: P1 Component: Network AssignedTo: [email protected] ReportedBy: [email protected]
Quoted 1 line
Latest working kernel version: 2.6.25.4
I assume you meant 2.6.25.1 here.
Quoted 10 lines
Earliest failing kernel version: 2.6.25.4
Distribution: debian sid
Hardware Environment: Compaq Deskpro (some old comp) Software Environment: latest updatesProblem Description:
after some time of normal work I lost connect to my router. no ping, no ssh. nothing. I come to router, switched on monitor and see infinetely looping messages about some error like this: TLAN: Could't allocate memory for... and some memory dumps. It's quickly scrolling so exact error message I can't read.
It could only have been
"TLAN: Couldn't allocate memory for received data.\n"
however the stupid driver prints the same string from three different places.
Quoted 1 line
On keyboard "caps Lock" and "scroll lock" are blinking...
hm, that might mean it oopses as well.
Quoted 30 lines
Alt+Ctrl+Del don't reboot system. So I reset it and all run fine again... I don't know for how long it will...
There is one vlan on tlan interface. If it's help...
As I remember, on 2.6.25.1 there was no errors for much more time (maybe it's my luck). So I think may be something changed between 2.6.25.1 and 2.6.25.4 that break memory allocations for that driver or so...
lspci:
00:00.0 Host bridge: Intel Corporation 440LX/EX - 82443LX/EX Host bridge (rev
03)
00:01.0 PCI bridge: Intel Corporation 440LX/EX - 82443LX/EX AGP bridge (rev 03) 00:0d.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
00:0e.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
00:0f.0 SCSI storage controller: Adaptec AIC-7860 (rev 03)
00:10.0 Network controller: Compaq Computer Corporation Netelligent 10/100 TX Embedded UTP (rev 10)
00:12.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
00:14.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 01) 00:14.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01) 00:14.2 USB Controller: Intel Corporation 82371AB/EB/MB PIIX4 USB (rev 01) 00:14.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 01) 01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA 2164W [Millennium II] AGP
Quoted 2 lines
Steps to reproduce:
try to use such hardware... or simply tlan NIC.
Alas, no significant changes have been made to tlan.c in ages.
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 7 lines · On Fri, 30 May 2008 17:32:07 +1100 "Wizard Vandal" <[email protected]> wrote:
Quoted 1 line
I assume you meant 2.6.25.1 here.
Maybe... as I said, I don't know is it my luck or something else...
Quoted 2 lines
It could only have been
"TLAN: Couldn't allocate memory for received data.\n"Again maybe. I looked at sorce, but I'm too little programmer to see why it can print such error or fix that.
OK, thanks.
Can you please add the below patch and retest? That at least will tell us where it is failing. I expect the driver has a memory leak.
Quoted 6 lines
One more thing:
now, I've tried to removenf_conntrack_ftpmodule and kernel crashed. Screen not checked, just reset and go away. Keyboard leds again blinks, as always when it crashed.Do I have to post new bug or you can do all checks or whatever without it?
Yes, please send a separate report. Just an emailed one to
[email protected]
Andrew Morton <[email protected]>
will suffice.
Please try to ensure that this netfilter problem is not mixed up with the tlan one. For example, if tlan has used all the memory up then perhaps netfilter did a memory allocation, then that failed and we hit an untested error path.
drivers/net/tlan.c renamed from drivers/net/tlan.c~a +16 -6
@@ -1580,9 +1580,12 @@ static u32 TLan_HandleRxEOF( struct net_if (bbuf) { skb =dev_alloc_skb (frameSize +7 ); -if (skb ==NULL ) -printk (KERN_INFO "TLAN: Couldn't allocate memory for received data.\n" ); -else { +if (skb ==NULL ) { +printk (KERN_INFO "TLAN: Couldn't allocate " +"memory for received data: %d.\n" , + __LINE__); +mdelay (1000 ); + }else { head_buffer = priv->rxBuffer + (priv->rxHead *TLAN_MAX_FRAME_SIZE );skb_reserve (skb,2 ); t = (void *)skb_put (skb, frameSize);
@@ -1619,8 +1622,12 @@ static u32 TLan_HandleRxEOF( struct net_ head_list->buffer[0 ].address =pci_map_single (priv->pciDev, new_skb->data,TLAN_MAX_FRAME_SIZE ,PCI_DMA_FROMDEVICE ); head_list->buffer[8 ].address = (u32 ) t;TLan_StoreSKB (head_list, new_skb); - }else -printk (KERN_WARNING "TLAN: Couldn't allocate memory for received data.\n" ); + }else { +printk (KERN_INFO "TLAN: Couldn't allocate " +"memory for received data: %d.\n" , + __LINE__); +mdelay (1000 ); + } } head_list->forward =0 ;
@@ -2021,7 +2028,10 @@ static void TLan_ResetLists( struct net_ }else { skb =dev_alloc_skb (TLAN_MAX_FRAME_SIZE +7 );if ( skb ==NULL ) { -printk ("TLAN: Couldn't allocate memory for received data.\n" ); +printk (KERN_INFO "TLAN: Couldn't allocate " +"memory for received data: %d.\n" , + __LINE__); +mdelay (1000 );/* If this ever happened it would be a problem */ }else { skb->dev = dev;
_