Re: ipw2100: race between isr_indicate_associated and rx path
"Zhu, Yi" <[email protected]> Wed, 28 Jan 2009 19:13:14 +0800
| Newsgroups | gmane.linux.drivers.ipw2100.devel |
|---|---|
| Message-ID | <AFAB8585072C7E48BC5C6F9C87F9B797056DABFC@pdsmsx502.ccr.corp.intel.com> |
SW5saW5lZC4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBIZWxtdXQg U2NoYWEgW21haWx0bzpoZWxtdXQuc2NoYWFAZ29vZ2xlbWFpbC5jb21dDQo+IFNlbnQ6IDIwMDnE 6jHUwjI4yNUgMTg6MzMNCj4gVG86IFpodSwgWWkNCj4gQ2M6IGlwdzIxMDAtZGV2ZWxAbGlzdHMu c291cmNlZm9yZ2UubmV0DQo+IFN1YmplY3Q6IFJlOiBbSXB3MjEwMC1kZXZlbF0gaXB3MjEwMDog cmFjZSBiZXR3ZWVuIGlzcl9pbmRpY2F0ZV9hc3NvY2lhdGVkDQo+IGFuZCByeCBwYXRoDQo+IA0K PiBBbSBNaXR0d29jaCwgMjguIEphbnVhciAyMDA5IHNjaHJpZWIgWmh1LCBZaToNCj4gPiBEbyB5 b3UgbWVhbiB0aGUgRUFQIHJlc3BvbnNlIGZyYW1lIGlzIGhhbmRlZCB0byBpZWVlODAyMTEvaXB3 MjEwMCBieQ0KPiA+IHdwYV9zdXBwbGljYW50IGJ1dCB5b3UgZGlkbid0IHNlZSBpdCBpbiB0aGUg YWlyPw0KPiANCj4gRXhhY3RseS4NCj4gDQo+ID4gSSBhc3N1bWUgYXQgdGhpcyBwb2ludCwgdGhl IEJTU0lEIGlzIGFscmVhZHkgZ290IGFuZCB0aGUgc3RhdGUgaXMNCj4gPiBBU1NPQ0lBVEVELg0K PiANCj4gWWVzLg0KPiANCj4gPiBDYW4geW91IGNvbmZpcm0gd3BhX3N1cHBsaWNhbnQgaGFzIGFs cmVhZHkgcmVjZWl2ZWQgdGhlIHdleHQgQVNTT0NJQVRFRA0KPiA+IGV2ZW50Pw0KPiANCj4gWWVz Lg0KDQpJIGNhbiBvbmx5IHNlZSB5b3Ugc3RhcnQgdG8gc2VuZCBidWZmZXJlZCBmcmFtZXMgYWZ0 ZXIgd2lyZWxlc3Nfc2VuZF9ldmVudCgsIFNJT0NHSVdBUCwgLCApLiBIb3cgY2FuIHlvdSBndWFy YW50ZWUgdGhlIGV2ZW50IGlzIHJlY2VpdmVkIGVhcmxpZXIgdGhhbiB0aG9zZSBidWZmZXJlZCBm cmFtZXM/DQoNCj4gPiBBbnl3YXksIEkgY291bGRuJ3QgdGVsbCB3aXRob3V0IHNlZWluZyB5b3Vy IHBhdGNoIDstKQ0KPiANCj4gVWhoLCB5ZXMuIEhlcmUgaXQgaXMgOikNCj4gDQo+IFRoZSBwYXRj aCBpcyBmYXIgZnJvbSBiZWluZyByZWFkeSwgaXQncyBqdXN0IGEgcHJvdG90eXBlLiBTbywganVz dCBpZ25vcmUNCj4gdHlwb3MsIGNvZGluZyBzdHlsZSBldGMuDQoNCkkgZGlkbid0IHNlZSB5b3Ug YWRkcmVzc2VkIG15IHBhY2tldHMgcmVvcmRlciBjb25jZXJuIGZyb20gdGhpcyBwYXRjaC4gRm9y IGV4YW1wbGUsIGhvdyBhYm91dCBhIHBhY2tldCBjb21lcyB3aGlsZSB5b3UgYXJlIGRlbGl2ZXJp bmcgYWxsIHRoZSBidWZmZXJlZCBwYWNrZXRzIGluIHRoZSB3aGlsZSBsb29wPyBUaGlzIGludHJv ZHVjZXMgYSBwYWNrZXQgcmVvcmRlciBwcm9ibGVtLiBObz8NCg0KVGhhbmtzLA0KLXlpDQogDQo+ IC0tLQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2lwdzJ4MDAvaXB3 MjEwMC5jDQo+IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaXB3MngwMC9pcHcyMTAwLmMNCj4gaW5k ZXggODIzYzJiZi4uMzZiNWQ1MiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3Mv aXB3MngwMC9pcHcyMTAwLmMNCj4gKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaXB3MngwMC9p cHcyMTAwLmMNCj4gQEAgLTIzOTMsNiArMjM5Myw4IEBAIHN0YXRpYyB2b2lkIGlzcl9yeChzdHJ1 Y3QgaXB3MjEwMF9wcml2ICpwcml2LCBpbnQgaSwNCj4gIHsNCj4gIAlzdHJ1Y3QgaXB3MjEwMF9z dGF0dXMgKnN0YXR1cyA9ICZwcml2LT5zdGF0dXNfcXVldWUuZHJ2W2ldOw0KPiAgCXN0cnVjdCBp cHcyMTAwX3J4X3BhY2tldCAqcGFja2V0ID0gJnByaXYtPnJ4X2J1ZmZlcnNbaV07DQo+ICsJc3Ry dWN0IGlwdzIxMDBfc2tiX2J1ZmZlciAqc2tiX2J1ZmY7DQo+ICsNCj4gDQo+ICAJSVBXX0RFQlVH X1JYKCJIYW5kbGVyLi4uXG4iKTsNCj4gDQo+IEBAIC0yNDEzLDcgKzI0MTUsNyBAQCBzdGF0aWMg dm9pZCBpc3Jfcngoc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiwgaW50IGksDQo+ICAJfQ0KPiAN Cj4gIAlpZiAodW5saWtlbHkocHJpdi0+aWVlZS0+aXdfbW9kZSAhPSBJV19NT0RFX01PTklUT1Ig JiYNCj4gLQkJICAgICAhKHByaXYtPnN0YXR1cyAmIFNUQVRVU19BU1NPQ0lBVEVEKSkpIHsNCj4g KwkJICAgICAhKHByaXYtPnN0YXR1cyAmIChTVEFUVVNfQVNTT0NJQVRFRCB8DQo+IFNUQVRVU19B U1NPQ0lBVElORykpKSkgew0KPiAgCQlJUFdfREVCVUdfRFJPUCgiRHJvcHBpbmcgcGFja2V0IHdo aWxlIG5vdCBhc3NvY2lhdGVkLlxuIik7DQo+ICAJCXByaXYtPndzdGF0cy5kaXNjYXJkLm1pc2Mr KzsNCj4gIAkJcmV0dXJuOw0KPiBAQCAtMjQzMyw3ICsyNDM1LDI0IEBAIHN0YXRpYyB2b2lkIGlz cl9yeChzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2LCBpbnQgaSwNCj4gIAkJCQkJICAgICBJUFdf UlhfTklDX0JVRkZFUl9MRU5HVEgpKTsNCj4gICNlbmRpZg0KPiANCj4gLQlpZiAoIWllZWU4MDIx MV9yeChwcml2LT5pZWVlLCBwYWNrZXQtPnNrYiwgc3RhdHMpKSB7DQo+ICsJaWYgKHByaXYtPnN0 YXR1cyAmIFNUQVRVU19BU1NPQ0lBVElORykgew0KPiArCQkvKiBmaXJtd2FyZSBpcyBhbHJlYWR5 IGFzc29jaWF0ZWQgYW5kIG1pZ2h0IGFjY2VwdCBmcmFtZXMNCj4gKwkJICogYnV0IHdlIHRoZSB1 c2VyIHNwYWNlIGRvZXMgbm90IGtub3cgYWJvdXQgdGhhdCBzdGF0ZQ0KPiArCQkgKiB5ZXQuIEhl bmNlIGJ1ZmZlciBhbGwgZnJhbWVzIHVudGlsIHRoZSBzdGF0dXMgbW92ZXMgdG8NCj4gKwkJICog YXNzb2NpYXRlZC4NCj4gKwkJICovDQo+ICsJCXNrYl9idWZmID0gKHN0cnVjdCBpcHcyMTAwX3Nr Yl9idWZmZXIqKWttYWxsb2Moc2l6ZW9mKHN0cnVjdA0KPiBpcHcyMTAwX3NrYl9idWZmZXIpLCBH RlBfQVRPTUlDKTsNCj4gKw0KPiArCQlhdG9taWNfaW5jKCZwYWNrZXQtPnNrYi0+dXNlcnMpOw0K PiArCQlJTklUX0xJU1RfSEVBRCgmc2tiX2J1ZmYtPmxpc3QpOw0KPiArCQlza2JfYnVmZi0+c2ti ID0gcGFja2V0LT5za2I7DQo+ICsJCW1lbWNweSgmc2tiX2J1ZmYtPnN0YXRzLCBzdGF0cywgc2l6 ZW9mKHN0cnVjdA0KPiBpZWVlODAyMTFfcnhfc3RhdHMpKTsNCj4gKwkJbGlzdF9hZGRfdGFpbCgm c2tiX2J1ZmYtPmxpc3QsICZwcml2LT5za2JfYnVmZmVyX2xpc3QpOw0KPiArDQo+ICsJCUlQV19E RUJVR19JTkZPKCIlczogRlcgaXMgYWxyZWFkeSBhc3NvY2lhdGVkLCBidWZmZXJpbmcNCj4gcGFj a2V0LlxuIiwNCj4gKwkJCSAgICAgICBwcml2LT5uZXRfZGV2LT5uYW1lKTsNCj4gKw0KPiArCX0g ZWxzZSBpZiAoIWllZWU4MDIxMV9yeChwcml2LT5pZWVlLCBwYWNrZXQtPnNrYiwgc3RhdHMpKSB7 DQo+ICAjaWZkZWYgSVBXMjEwMF9SWF9ERUJVRw0KPiAgCQlJUFdfREVCVUdfRFJPUCgiJXM6IE5v biBjb25zdW1lZCBwYWNrZXQ6XG4iLA0KPiAgCQkJICAgICAgIHByaXYtPm5ldF9kZXYtPm5hbWUp Ow0KPiBAQCAtNjExOCw2ICs2MTM3LDggQEAgc3RhdGljIHN0cnVjdCBuZXRfZGV2aWNlDQo+ICpp cHcyMTAwX2FsbG9jX2RldmljZShzdHJ1Y3QgcGNpX2RldiAqcGNpX2RldiwNCj4gIAlJTklUX0xJ U1RfSEVBRCgmcHJpdi0+ZndfcGVuZF9saXN0KTsNCj4gIAlJTklUX1NUQVQoJnByaXYtPmZ3X3Bl bmRfc3RhdCk7DQo+IA0KPiArCUlOSVRfTElTVF9IRUFEKCZwcml2LT5za2JfYnVmZmVyX2xpc3Qp Ow0KPiArDQo+ICAJcHJpdi0+d29ya3F1ZXVlID0gY3JlYXRlX3dvcmtxdWV1ZShEUlZfTkFNRSk7 DQo+IA0KPiAgCUlOSVRfREVMQVlFRF9XT1JLKCZwcml2LT5yZXNldF93b3JrLCBpcHcyMTAwX3Jl c2V0X2FkYXB0ZXIpOw0KPiBAQCAtODI5OCw2ICs4MzE5LDggQEAgc3RhdGljIHZvaWQgaXB3MjEw MF93eF9ldmVudF93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdA0KPiAqd29yaykNCj4gIAkJY29udGFp bmVyX29mKHdvcmssIHN0cnVjdCBpcHcyMTAwX3ByaXYsIHd4X2V2ZW50X3dvcmsud29yayk7DQo+ ICAJdW5pb24gaXdyZXFfZGF0YSB3cnF1Ow0KPiAgCWludCBsZW4gPSBFVEhfQUxFTjsNCj4gKwli b29sIHRlc3QgPSBmYWxzZTsNCj4gKwlzdHJ1Y3QgaXB3MjEwMF9za2JfYnVmZmVyKiBza2JfYnVm ZmVyOw0KPiANCj4gIAlpZiAocHJpdi0+c3RhdHVzICYgU1RBVFVTX1NUT1BQSU5HKQ0KPiAgCQly ZXR1cm47DQo+IEBAIC04MzIzLDggKzgzNDYsMTAgQEAgc3RhdGljIHZvaWQgaXB3MjEwMF93eF9l dmVudF93b3JrKHN0cnVjdA0KPiB3b3JrX3N0cnVjdCAqd29yaykNCj4gIAkJbWVtY3B5KHByaXYt PmllZWUtPmJzc2lkLCBwcml2LT5ic3NpZCwgRVRIX0FMRU4pOw0KPiAgCQlwcml2LT5zdGF0dXMg Jj0gflNUQVRVU19BU1NPQ0lBVElORzsNCj4gIAkJcHJpdi0+c3RhdHVzIHw9IFNUQVRVU19BU1NP Q0lBVEVEOw0KPiArDQo+ICAJCW5ldGlmX2NhcnJpZXJfb24ocHJpdi0+bmV0X2Rldik7DQo+ICAJ CW5ldGlmX3dha2VfcXVldWUocHJpdi0+bmV0X2Rldik7DQo+ICsJCXRlc3QgPSB0cnVlOw0KPiAg CX0NCj4gDQo+ICAJaWYgKCEocHJpdi0+c3RhdHVzICYgU1RBVFVTX0FTU09DSUFURUQpKSB7DQo+ IEBAIC04MzQxLDYgKzgzNjYsMzEgQEAgc3RhdGljIHZvaWQgaXB3MjEwMF93eF9ldmVudF93b3Jr KHN0cnVjdA0KPiB3b3JrX3N0cnVjdCAqd29yaykNCj4gIAl9DQo+IA0KPiAgCXdpcmVsZXNzX3Nl bmRfZXZlbnQocHJpdi0+bmV0X2RldiwgU0lPQ0dJV0FQLCAmd3JxdSwgTlVMTCk7DQo+ICsNCj4g KwlpZiAodGVzdCkgew0KPiArCQkvKiBub3cgZGVsaXZlciBhbGwgYnVmZmVyZWQgZnJhbWVzICov DQo+ICsJCXdoaWxlICggIWxpc3RfZW1wdHkoJnByaXYtPnNrYl9idWZmZXJfbGlzdCkgKSB7DQo+ ICsJCQlJUFdfREVCVUdfSU5GTygiJXM6IERlbGl2ZXJpbmcgcXVldWVkIHBhY2tldC5cbiIsDQo+ ICsJCQkJICAgICAgIHByaXYtPm5ldF9kZXYtPm5hbWUpOw0KPiArDQo+ICsJCQlza2JfYnVmZmVy ID0gbGlzdF9lbnRyeShwcml2LT5za2JfYnVmZmVyX2xpc3QubmV4dCwNCj4gc3RydWN0IGlwdzIx MDBfc2tiX2J1ZmZlciwgbGlzdCk7DQo+ICsJCQlsaXN0X2RlbCgmc2tiX2J1ZmZlci0+bGlzdCk7 DQo+ICsNCj4gKwkJCWlmICghaWVlZTgwMjExX3J4KHByaXYtPmllZWUsIHNrYl9idWZmZXItPnNr YiwNCj4gJnNrYl9idWZmZXItPnN0YXRzKSkgew0KPiArLyojaWZkZWYgSVBXMjEwMF9SWF9ERUJV Rw0KPiArCQkJCUlQV19ERUJVR19EUk9QKCIlczogTm9uIGNvbnN1bWVkIHBhY2tldDpcbiIsDQo+ ICsJCQkgICAgICAgcHJpdi0+bmV0X2Rldi0+bmFtZSk7DQo+ICsJCQkJcHJpbnRrX2J1ZihJUFdf RExfRFJPUCwgcGFja2V0X2RhdGEsIHN0YXR1cy0NCj4gPmZyYW1lX3NpemUpOw0KPiArI2VuZGlm Ki8NCj4gKwkJCQlwcml2LT5pZWVlLT5zdGF0cy5yeF9lcnJvcnMrKzsNCj4gKw0KPiArCQkJCS8q IGllZWU4MDIxMV9yeCBmYWlsZWQsIHNvIGl0IGRpZG4ndCBmcmVlIHRoZSBTS0INCj4gKi8NCj4g KwkJCQlkZXZfa2ZyZWVfc2tiX2FueShza2JfYnVmZmVyLT5za2IpOw0KPiArCQkJCXNrYl9idWZm ZXItPnNrYiA9IE5VTEw7DQo+ICsJCQl9DQo+ICsJCQlrZnJlZShza2JfYnVmZmVyKTsNCj4gKwkJ fQ0KPiArCX0NCj4gIH0NCj4gDQo+ICAjZGVmaW5lIElQVzIxMDBfRldfTUFKT1JfVkVSU0lPTiAx DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pcHcyeDAwL2lwdzIxMDAuaA0K PiBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2lwdzJ4MDAvaXB3MjEwMC5oDQo+IGluZGV4IGJiZjFk ZGMuLjdjMTFjNmEgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2lwdzJ4MDAv aXB3MjEwMC5oDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2lwdzJ4MDAvaXB3MjEwMC5o DQo+IEBAIC00ODcsNiArNDg3LDEyIEBAIGVudW0gew0KPiAgI2RlZmluZSBDQVBfU0hBUkVEX0tF WSAgICAgICAgICAoMTw8MCkJLyogT2ZmID0gT1BFTiAqLw0KPiAgI2RlZmluZSBDQVBfUFJJVkFD WV9PTiAgICAgICAgICAoMTw8MSkJLyogT2ZmID0gTm8gcHJpdmFjeSAqLw0KPiANCj4gK3N0cnVj dCBpcHcyMTAwX3NrYl9idWZmZXIgew0KPiArCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsNCj4gKwlz dHJ1Y3Qgc2tfYnVmZiogc2tiOw0KPiArCXN0cnVjdCBpZWVlODAyMTFfcnhfc3RhdHMgc3RhdHM7 DQo+ICt9Ow0KPiArDQo+ICBzdHJ1Y3QgaXB3MjEwMF9wcml2IHsNCj4gDQo+ICAJaW50IHN0b3Bf aGFuZ19jaGVjazsJLyogU2V0IDEgd2hlbiBzaHV0dGluZyBkb3duIHRvIGtpbGwNCj4gaGFuZ19j aGVjayAqLw0KPiBAQCAtNjAxLDYgKzYwNyw4IEBAIHN0cnVjdCBpcHcyMTAwX3ByaXYgew0KPiAg CXN0cnVjdCBtdXRleCBhZGFwdGVyX211dGV4Ow0KPiANCj4gIAl3YWl0X3F1ZXVlX2hlYWRfdCB3 YWl0X2NvbW1hbmRfcXVldWU7DQo+ICsNCj4gKwlzdHJ1Y3QgbGlzdF9oZWFkIHNrYl9idWZmZXJf bGlzdDsNCj4gIH07DQo+IA0KPiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClRoaXMgU0YubmV0 IGVtYWlsIGlzIHNwb25zb3JlZCBieToKU291cmNGb3JnZSBDb21tdW5pdHkKU291cmNlRm9yZ2Ug d2FudHMgdG8gdGVsbCB5b3VyIHN0b3J5LgpodHRwOi8vcC5zZi5uZXQvc2Z1L3NmLXNwcmVhZHRo ZXdvcmQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaXB3 MjEwMC1kZXZlbCBtYWlsaW5nIGxpc3QKaXB3MjEwMC1kZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5u ZXQKaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vaXB3MjEwMC1k ZXZlbAo=