---1596677528-567243231-949084815=:7808
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.LNX.4.10.10001291053592.10352@sic.popnet.pl>
Hi
I have written a driver to the new hardware. It is serial, synchronous,
ISA
based, communication card but it doesn't meter now. It is mmio driven with
IRQ's without DMA on the ISA.
I send pure TCP/IP packets without any hardware headers etc... It's like
point-to-point through completely transparent hardware.
When I send a packet which is smaller or equal to the actually set MTU
value then everything work perfectly.
The problem starts when I try to send a packet which is grater then
actually set MTU.
As expected, the larger packet is fragmented into smaller parts and it
goes to the second machine. It is received by the second machine but it is
lost in system. It looks like the second computer does not glue fragmented
packets....!
But if I send fragments with delay (udelay(1000)) or more then the second
computer recognizes it sometimes and responds properly.
Normal packets below MTU size don't need any delay.
When I set larger value of MTU I can ping with the packet size up to the
new MTU.
Again, when I send packets of a size less then MTU then it works great.
I attached source files here. Please look at it, maybe I miss something or
I don't know about some additional issues.
Please help.
Regards,
Benedykt Kroplewski
---1596677528-567243231-949084815=:7808
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="v35.c"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.10.10001291059180.10352@sic.popnet.pl>
Content-Description:
Content-Disposition: attachment; filename="v35.c"
LyogdjM1LmMgIA0KICogQ29weXJpZ2h0IChDKSAxOTk5LTIwMDAgYnkgQmVu
ZWR5a3QgS3JvcGxld3NraQ0KICogZS1tYWlsOiBtbG9keUBwb3BuZXQucGwg
LHRlbC4gMC01MDEtODUzMTcyDQogKi8NCiNpbmNsdWRlIDxsaW51eC9tb2R1
bGUuaD4NCiNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4NCiNpbmNsdWRlIDxs
aW51eC9zY2hlZC5oPg0KI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+DQojaW5j
bHVkZSA8bGludXgvZmNudGwuaD4NCiNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1
cHQuaD4NCiNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4NCiNpbmNsdWRlIDxs
aW51eC9pb3BvcnQuaD4NCiNpbmNsdWRlIDxsaW51eC9pbi5oPg0KI2luY2x1
ZGUgPGxpbnV4L21hbGxvYy5oPg0KI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5o
Pg0KI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4NCiNpbmNsdWRlIDxhc20vYml0
b3BzLmg+DQojaW5jbHVkZSA8YXNtL2lvLmg+DQojaW5jbHVkZSA8YXNtL2Rt
YS5oPg0KI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+DQojaW5jbHVkZSA8bGlu
dXgvaW5pdC5oPiAgDQojaW5jbHVkZSA8bGludXgvbmV0ZGV2aWNlLmg+DQoj
aW5jbHVkZSA8bGludXgvZXRoZXJkZXZpY2UuaD4NCiNpbmNsdWRlIDxsaW51
eC9za2J1ZmYuaD4NCiNpbmNsdWRlIDxsaW51eC9pZl9hcnAuaD4NCiNpbmNs
dWRlIDxsaW51eC9pZl9zbGlwLmg+DQojaW5jbHVkZSA8bGludXgvZGVsYXku
aD4NCiNkZWZpbmUgTVRVIDE1MDANCiNkZWZpbmUgRE9GRiAweDEwCQkvKiAg
RGF0YSBvZmZzZXQgKi8NCiNkZWZpbmUgUk9GRiAweDgJCS8qIFJlZ2lzdGVy
cyBvZmZzZXQgMHg4ICovDQpzdGF0aWMgbG9uZyBiYXNlID0gMHgwMDAwMDsN
CiNpbmNsdWRlICJiaW4uaCINCiNpbmNsdWRlICJkYi5jIg0KDQppbnQgdjM1
X2luaXQoc3RydWN0IGRldmljZSAqZGV2KTsNCnN0YXRpYyB2b2lkIHYzNV9p
bnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkLCBzdHJ1Y3QgcHRfcmVn
cyAqIHJlZ3MpOw0Kc3RhdGljIGludCB2MzVfb3BlbihzdHJ1Y3QgZGV2aWNl
ICpkZXYpOw0Kc3RhdGljIGludCB2MzVfc3RvcChzdHJ1Y3QgZGV2aWNlICpk
ZXYpOw0Kc3RhdGljIGludCB2MzVfc2VuZChzdHJ1Y3Qgc2tfYnVmZiAqc2ti
LCBzdHJ1Y3QgZGV2aWNlICpkZXYpOw0Kc3RhdGljIHN0cnVjdCBuZXRfZGV2
aWNlX3N0YXRzICp2MzVfc3RhdChzdHJ1Y3QgZGV2aWNlICpkZXYpOyANCg0K
DQpzdGF0aWMgY29uc3QgY2hhciAqdmVyc2lvbiA9DQogICAgICAgICJ2MzUu
Yzp2MS4wIDE5OTkgQmVuZWR5a3QgS3JvcGxld3NraSAobWxvZHlAc2ljLnBv
cG5ldC5wbClcbiI7DQpzdGF0aWMgY29uc3QgY2hhciogaXJxbmFtZSA9ICJ2
MzVjYXJkIjsNCnN0YXRpYyBjaGFyIHYzNW5hbWVbMTBdID0geyJ3YW4wXDAi
fTsNCnN0YXRpYyBzdHJ1Y3QgZGV2aWNlIHYzNWRldiA9IHsgdjM1bmFtZSww
LDAsMCwwLDAsMCwwLDAsMCxOVUxMLHYzNV9pbml0IH07DQpzdGF0aWMgc3Ry
dWN0IG5ldF9kZXZpY2Vfc3RhdHMgc3RhdHM7DQpzdGF0aWMgaW50IGlycSA9
IDA7DQoNCk1PRFVMRV9QQVJNKGlycSwiaSIpOw0KTU9EVUxFX1BBUk0oYmFz
ZSwiaSIpOw0KaW50IHYzNV9pbml0KHN0cnVjdCBkZXZpY2UgKmRldikNCnsN
CmludCBpcnF2YWwsaTsNCg0KICBwcmludGsoInYzNV9pbml0KCVzKTtcbiIs
ZGV2LT5uYW1lKTsNCiAgcHJpbnRrKEtFUk5fREVCVUcgIiVzIiwgdmVyc2lv
bik7DQoNCiAgaXJxdmFsID0gcmVxdWVzdF9pcnEoZGV2LT5pcnEsICZ2MzVf
aW50ZXJydXB0LCAwLCBpcnFuYW1lLCBkZXYpOw0KICBpZiAoaXJxdmFsKSB7
IHByaW50aygiJXM6IHVuYWJsZSB0byBnZXQgSVJRICVkIChpcnF2YWw9JWQp
LlxuIixkZXYtPm5hbWUsIGRldi0+aXJxLCBpcnF2YWwpOyByZXR1cm4gLUVB
R0FJTjsgfQ0KDQoNCiAgaW5pdGNhcmQoZGV2LT5iYXNlX2FkZHIpOw0KDQog
IGZvcihpPTA7aTwyMDAwMDtpKyspIHJlYWRiKGRldi0+YmFzZV9hZGRyK0RP
RkYpOw0KICBwcmludGsoInJlYWQgMjAgMDAwIGJ5dGVzXG4iKTsNCg0KICBk
ZXYtPm9wZW4JCT0gdjM1X29wZW47DQogIGRldi0+c3RvcAkJPSB2MzVfc3Rv
cDsNCiAgZGV2LT5oYXJkX3N0YXJ0X3htaXQJPSB2MzVfc2VuZDsNCiAgZGV2
LT5nZXRfc3RhdHMJPSB2MzVfc3RhdDsNCiAgZGV2LT5tdHUJCT0gMTUwMDsN
CiAgZGV2LT5oYXJkX2hlYWRlcl9sZW4JPSAwOw0KICBkZXYtPmFkZHJfbGVu
CQk9IDA7DQogIGRldi0+dHlwZQkJPSBBUlBIUkRfU0xJUDsNCiAgZGV2LT50
eF9xdWV1ZV9sZW4JPSAxMDsNCiAgZGV2X2luaXRfYnVmZmVycyhkZXYpOw0K
ICBkZXYtPmZsYWdzCQk9IElGRl9OT0FSUHxJRkZfUE9JTlRPUE9JTlQ7IA0K
DQogIHJldHVybiAwOw0KfQ0KDQoNCnN0YXRpYyB2b2lkIHYzNV9nb3Qoc3Ry
dWN0IGRldmljZSAqZGV2LGludCB3aWVsa29zYykNCnsNCnN0cnVjdCBza19i
dWZmICpza2I7DQppbnQgaTsNCg0KICAgICAgICBzdGF0cy5yeF9ieXRlcys9
d2llbGtvc2MtMzsNCiAgICAgICAgc2tiID0gZGV2X2FsbG9jX3NrYih3aWVs
a29zYy0xKTsNCiAgICAgICAgc2tiX3B1dChza2Isd2llbGtvc2MtMSk7DQog
ICAgICAgIHNrYi0+ZGV2ID0gZGV2Ow0KDQoNCiAgICAgICAgZm9yKGk9MDtp
PD13aWVsa29zYy0zO2krKykNCiAgICAgICAgICAgICAgICAqKHNrYi0+ZGF0
YStpKSA9IHJlYWRiKGRldi0+YmFzZV9hZGRyK0RPRkYpOw0KDQogICAgICAg
IHNrYi0+cGt0X3R5cGUgPSBQQUNLRVRfSE9TVDsNCiAgICAgICAgc2tiLT5t
YWMucmF3PXNrYi0+ZGF0YTsNCiAgICAgICAgc2tiLT5wcm90b2NvbD1odG9u
cyhFVEhfUF9JUCk7DQogICAgICAgIG5ldGlmX3J4KHNrYik7DQogICAgICAg
IHN0YXRzLnJ4X3BhY2tldHMrKzsNCg0KDQp9DQoNCi8qIG51bWVyID0gbnVt
ZXIgJiBCSU4wMDExMTExMTsgLS0tPiAgemVyb3dhbmllIHBpZXJ3c3p5Y2gg
MiBiaXRvdyAqLw0KLyogbnVtZXIgPSBudW1lciBeIEJJTjExMDAwMDAwOyAt
LS0+ICB6YXBhbGFuaWUgcGllcndzenljaCAyIGJpdG93ICovDQoNCg0Kc3Rh
dGljIHZvaWQgdjM1X2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQs
IHN0cnVjdCBwdF9yZWdzICogcmVncykNCnsNCnN0cnVjdCBkZXZpY2UgKmRl
diA9IGRldl9pZDsNCnVuc2lnbmVkIGNoYXIgcmVnMSxyZWczLHJlZzcscmVn
Nix6bmFrLHRtcDsNCmludCB3aGF0X2lycT0wOw0KaW50IHdpZWxrb3NjPTA7
DQppbnQgZXJyb3I9MDsNCi8qIGxvbmcgZmxhZ3M7ICovDQoNCiAgZGV2LT5p
bnRlcnJ1cHQgPSAxOw0KDQovKg0KICBzYXZlX2ZsYWdzKGZsYWdzKTsNCiAg
Y2xpKCk7DQoqLw0KDQogIHJlZzMgPSByZWFkcmVnaXN0ZXIoMyxkZXYtPmJh
c2VfYWRkcik7DQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBJ
UlEgUlggKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKiovDQogIGlmKChyZWczICYgMHgyMCkgPT0gMHgy
MCkJDQogIHsJd2hhdF9pcnErKzsNCiByZWFkcmVnaXN0ZXIoMixkZXYtPmJh
c2VfYWRkcik7IA0KDQoNCmRvIHsNCiAgICAgICAgIHJlZzcgPSByZWFkcmVn
aXN0ZXIoNyxkZXYtPmJhc2VfYWRkcik7DQogICAgICAgICByZWc2ID0gcmVh
ZHJlZ2lzdGVyKDYsZGV2LT5iYXNlX2FkZHIpOyANCiAgICAgICAgIHJlZzEg
PSByZWFkcmVnaXN0ZXIoMSxkZXYtPmJhc2VfYWRkcik7DQoNCiAgICAgICAg
IGlmKChyZWcxICYgMHgxMCkgPT0gMHgxMCkgLyogYml0IDQgKi8NCiAgICAg
ICAgICB7IHdyaXRlYigweDMwLGJhc2UrUk9GRik7IGVycm9yID0gNDsgfSAv
KiBFNCAqLw0KICAgICAgICAgaWYoKHJlZzEgJiAweDIwKSA9PSAweDIwKSAg
LyogYml0IDUgKi8NCiAgICAgICAgICB7IHdyaXRlYigweDMwLGJhc2UrUk9G
Rik7IGVycm9yID0gNTsgfSAvKiBFNSAqLw0KICAgICAgICAgaWYoKHJlZzEg
JiAweDQwKSA9PSAweDQwKSAgLyogYml0IDYgKi8NCiAgICAgICAgICB7IHdy
aXRlYigweDMwLGJhc2UrUk9GRik7IGVycm9yID0gNjsgfSAvKiBFNiAqLw0K
ICAgICAgICAgaWYoKHJlZzEgJiAweDgwKSA9PSAweDgwKSA7IC8qIGJpdCA3
ICovDQoNCgl0bXAgPSByZWc3ICYgQklOMDAxMTExMTE7DQoJd2llbGtvc2Mg
PSB0bXAgPDwgODsNCgl3aWVsa29zYyA9IHdpZWxrb3NjICsgcmVnNjsNCg0K
CXYzNV9nb3QoZGV2LHdpZWxrb3NjKTsNCg0KCXpuYWsgPSByZWFkYihkZXYt
PmJhc2VfYWRkcitET0ZGKTsNCgl6bmFrID0gcmVhZGIoZGV2LT5iYXNlX2Fk
ZHIrRE9GRik7DQoJem5hayA9IHJlYWRiKGRldi0+YmFzZV9hZGRyK0RPRkYp
Ow0KCSByZWc3ID0gcmVhZHJlZ2lzdGVyKDcsZGV2LT5iYXNlX2FkZHIpOyAN
CiAgICAgICAgIHJlZzcgPSByZWFkcmVnaXN0ZXIoNyxkZXYtPmJhc2VfYWRk
cik7DQogDQp9DQoNCndoaWxlKCAocmVnNyAmIEJJTjAxMDAwMDAwKSA9PSBC
SU4wMTAwMDAwMCApOw0KaWYoZXJyb3IgIT0gMCkgcHJpbnRrKCJSWCBlcnJv
ciBuci4gJWRcbiIsZXJyb3IpOw0KDQoNCiAgICAgICAgIHdyaXRlYigweDM4
LGJhc2UrUk9GRik7DQoNCg0KICAgIHByaW50aygidjM1X2ludGVycnVwdCgl
cyxSeCwlcyxTSVpFPSVkLEVSUk9SPSVkKTtcbiIsZGV2LT5uYW1lLGNoYXIy
YmluKHJlZzMpLHdpZWxrb3NjLTMsZXJyb3IpOyANCiAgfSANCg0KLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBJUlEgVFggKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKi8NCiAgICAgICAgaWYoKHJlZzMgJiAweDgpID09IDB4OCkNCiAgICAg
ICAgeyAgIHdoYXRfaXJxKys7DQogICAgICAgICAgICANCg0KCXN0YXRzLnR4
X3BhY2tldHMrKzsNCg0KCXVkZWxheSgxMDAwKTsNCg0KCWRldi0+dGJ1c3kg
PSAwOw0KCW1hcmtfYmgoTkVUX0JIKTsgDQoNCnJlYWRyZWdpc3RlcigyLGRl
di0+YmFzZV9hZGRyKTsNCiAgICAgICAgIHByaW50aygidjM1X2ludGVycnVw
dCglcyxUeCwlcyk7XG4iLGRldi0+bmFtZSxjaGFyMmJpbihyZWczKSk7IA0K
CXdyaXRlYigweDEwLGJhc2UrUk9GRik7IA0KCXdyaXRlYigweDEwLGJhc2Ur
Uk9GRik7DQoJd3JpdGViKDB4MzgsYmFzZStST0ZGKTsNCiAgICAgICB9DQoN
Cg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqIElSUSB1bmtub3du
ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKi8NCglpZih3aGF0X2lycSA9PSAwKQ0KCXsgDQogICAg
ICAgICAgICByZWFkcmVnaXN0ZXIoMixkZXYtPmJhc2VfYWRkcik7DQogICAg
ICAgICANCgkgICBwcmludGsoInYzNV9pbnRlcnJ1cHQoJXMsVU5LTk9XTiwl
cyk7XG4iLGRldi0+bmFtZSxjaGFyMmJpbihyZWczKSk7DQogCSAgIHdyaXRl
YigweDEwLGJhc2UrUk9GRik7DQoJICAgd3JpdGViKDB4MTAsYmFzZStST0ZG
KTsgDQoJICAgd3JpdGViKDB4MzgsYmFzZStST0ZGKTsNCiAgICAgICAgfQ0K
DQovKg0KICByZXN0b3JlX2ZsYWdzKGZsYWdzKTsNCiovDQoNCiAgZGV2LT5p
bnRlcnJ1cHQgPSAwOw0KICByZXR1cm47DQp9DQoNCg0Kc3RhdGljIGludCB2
MzVfb3BlbihzdHJ1Y3QgZGV2aWNlICpkZXYpDQp7DQogIHByaW50aygidjM1
X29wZW4oJXMpO1xuIixkZXYtPm5hbWUpOw0KICBNT0RfSU5DX1VTRV9DT1VO
VDsNCiAgZGV2LT5zdGFydCA9IDE7DQogIGRldi0+dGJ1c3kgPSAwOw0KICBy
ZXR1cm4gMDsNCn0NCg0Kc3RhdGljIGludCB2MzVfc3RvcChzdHJ1Y3QgZGV2
aWNlICpkZXYpDQp7DQogIHByaW50aygidjM1X3N0b3AoJXMpO1xuIixkZXYt
Pm5hbWUpOw0KICBkZXYtPnN0YXJ0ID0gMDsNCiAgZGV2LT50YnVzeSA9IDE7
DQogIGZyZWVfaXJxKGRldi0+aXJxLCBkZXYpOyANCiAgTU9EX0RFQ19VU0Vf
Q09VTlQ7DQogIHJldHVybiAwOw0KfQ0KDQpsb25nIGZsYWdzOw0KDQpzdGF0
aWMgaW50IHYzNV9zZW5kKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBk
ZXZpY2UgKmRldikNCnsNCmludCBsZW4saTsNCnVuc2lnbmVkIGNoYXIgKmRh
dGE7DQoNCiAgZGV2LT50cmFuc19zdGFydCA9IGppZmZpZXM7DQoNCiAgbGVu
ID0gc2tiLT5sZW47DQogIGRhdGEgPSBza2ItPmRhdGE7DQogIA0KaWYoIWRl
di0+aW50ZXJydXB0KQ0Kew0KDQogIHNhdmVfZmxhZ3MoZmxhZ3MpOw0KICBj
bGkoKTsNCiAgICAgZm9yKGk9MDtpPD1sZW47aSsrKSANCndyaXRlYigqKGRh
dGEraSksZGV2LT5iYXNlX2FkZHIrRE9GRik7DQogIGRldi0+dGJ1c3k9MTsg
DQogIHJlc3RvcmVfZmxhZ3MoZmxhZ3MpOw0KLyogIHByaW50aygiJXM6IHRy
YW5zbWl0ICVkIGJ5dGVzXG4iLGRldi0+bmFtZSxsZW4pOyAqLw0KICBzdGF0
cy50eF9ieXRlcys9c2tiLT5sZW47DQogIGRldi0+dHJhbnNfc3RhcnQgPSBq
aWZmaWVzOw0KDQogIGRldl9rZnJlZV9za2Ioc2tiKTsNCn0NCiAgcmV0dXJu
IDA7DQp9DQoNCnN0YXRpYyBzdHJ1Y3QgbmV0X2RldmljZV9zdGF0cyAqdjM1
X3N0YXQoc3RydWN0IGRldmljZSAqZGV2KQ0Kew0KDQpyZXR1cm4gJnN0YXRz
Ow0KfQ0KDQoNCmludCBpbml0X21vZHVsZSh2b2lkKQ0Kew0KaW50IHJlc3Vs
dDsNCg0KICBpZihpcnEgPT0gMCkgeyBwcmludGsoImluc21vZCB2MzUubyBp
cnE9TlVNRVIgYmFzZT1BRERSRVNTXG4iKTsgcmV0dXJuIDE7IH0NCiAgaWYo
YmFzZSA9PSAwKSB7IHByaW50aygiaW5zbW9kIHYzNS5vIGlycT1OVU1FUiBi
YXNlPUFERFJFU1NcbiIpOyByZXR1cm4gMTsgfQ0KDQogIHYzNWRldi5iYXNl
X2FkZHIgCT0gYmFzZTsNCiAgdjM1ZGV2LmlycSAJCT0gaXJxOw0KICBpZigo
cmVzdWx0ID0gcmVnaXN0ZXJfbmV0ZGV2KCZ2MzVkZXYpKSAhPSAwKSByZXR1
cm4gcmVzdWx0OyANCg0KICByZXR1cm4gMDsNCn0NCg0KDQoNCg0Kdm9pZCBj
bGVhbnVwX21vZHVsZSh2b2lkKQ0Kew0KICBwcmludGsoImNsZWFudXBfbW9k
dWxlKCk7XG4iKTsNCiAgDQogIHVucmVnaXN0ZXJfbmV0ZGV2KCZ2MzVkZXYp
OyANCn0NCg0KLyogZW5kLiAqLw0K
---1596677528-567243231-949084815=:7808--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/