타겟 보드에서 랜드라이버가 올라가는 도중 문제가 발생합니다.

paeksj98의 이미지

이주째 삽질을 하다가 여러 분들의 조언을 듣고자 이렇게 글을 올립니다.
보드의 간단한 사양은 amd au1200 이고 랜은 smsc lan91c111-ne입니다.
커널에서 랜을 올리는데 문제가 발생 하는데 원인을 모르겠습니다.
제가 실시간으로 확인 중이니 조언좀 부탁드립니다.

아래 문제되는 소스는 Smc91111.c 입니다.
static int smc_wait_to_send_packet( struct sk_buff * skb, struct net_device * dev )
{
struct smc_local *lp = (struct smc_local *)dev->priv;
unsigned int ioaddr = dev->base_addr;
word length;
unsigned short numPages;
word time_out;
word status;

PRINTK3("%s:smc_wait_to_send_packet\n", dev->name);
udelay(200);

if ( lp->saved_skb) {
/* THIS SHOULD NEVER HAPPEN. */
lp->stats.tx_aborted_errors++;
printk("%s: Bad Craziness - sent packet while busy.\n",
dev->name); //이부분에서 계속 루프를 도네요....원인두 모르겠고...ㅠㅠ
return 1;
}
lp->saved_skb = skb;

로고를 간단하게 올리면......

loop: loaded (max 8 devices)
LAN91C111: You shouldn't use auto-probing with insmod!
SMSC LAN91C111 Driver (v2.01), (Linux Kernel 2.4 + Support for Odd Byte) 12/13/04
ethaddr not set in boot prom
eth0: SMC91C11xFD(rev:2) at 0xb9000300 IRQ:44 MEMSIZE:8192b NOWAIT:1 ADDR: 00:00:00:00:00:00
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
Db1200 Flash: probing 16-bit flash bus
Db1200 Flash: Found 1 x16 devices at 0x0 in 16-bit bank
Amd/Fujitsu Extended Query Table at 0x0040
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
Creating 3 MTD partitions on "Db1200 Flash":
0x00000000-0x00400000 : "User1"
0x00400000-0x00500000 : "YAMON"
0x00500000-0x00800000 : "User2"
NAND device: Manufacturer ID: 0xad, Chip ID: 0xf1 (Hynix NAND 128MiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 0 at 0x00000000
Bad eraseblock 1018 at 0x07f40000
Creating 1 MTD partitions on "NAND 128MiB 3,3V 8-bit":
0x00800000-0x08000000 : "NAND FS"
NET: Registered protocol family 2
IP: routing cache hash table of 1024 buckets, 8Kbytes
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
Initializing IPsec netlink socket
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
eth0: PHY=LAN83C183 (LAN91C111 Internal)
IP-Config: Complete:
device=eth0, addr=192.168.1.244, mask=255.255.255.0, gw=192.168.1.2,
host=192.168.1.244, domain=, nis-domain=(none),
bootserver=192.168.1.123, rootserver=192.168.1.123, rootpath=
Looking up port of RPC 100003/2 on 192.168.1.123
eth0: Bad Craziness - sent packet while busy.
eth0: Bad Craziness - sent packet while busy.
eth0: Bad Craziness - sent packet while busy.
eth0: Bad Craziness - sent packet while busy.
eth0: Bad Craziness - sent packet while busy.
eth0: Bad Craziness - sent packet while busy.
eth0: Bad Craziness - sent packet while busy.
eth0: Bad Craziness - sent packet while busy.
eth0: Bad Craziness - sent packet while busy.
eth0: Bad Craziness - sent packet while busy.
eth0: Bad Craziness - sent packet while busy.
eth0: Bad Craziness - sent packet while busy.
.
.
.
.
빨리 문제를 해결해야 할텐데..조언 부탁드립니다.

kgykingdom의 이미지

넘어오는 디바이스 정보 확인하셔야 겠는데요..

소켓 버퍼에 아직 전송할 데이터가 남아 있어서 버퍼를 가지고 있는거 같은데..

그냥 넘어가고 싶으시다면 lp->saved_skb 메모리를 해제하는 코드 한줄 넣어주시던지요.. 물론 좋은 해결책은 아닙니다. ^^;;

mach의 이미지

디바이스 드라이버의 경우, 최신 패치가 배포되었는지 검토해보는것도 좋습니다.
해당디바이스 드라이버를 직접 새로 만드신 것이 아니라면 말입니다.

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

익명 사용자의 이미지

192.168.1.244 이거 아이피 해킹 서버파일 분해해서 보니까 이거 아이피에 날짜가 2013 년 나오던데

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.