659 return;
660
661 buf = kmalloc(50 + 2 * (ifsta->assocreq_ies_len +
662 ifsta->assocresp_ies_len), GFP_KERNEL);
663 if (!buf)
664 return;
665
666 len = sprintf(buf, "ASSOCINFO(");
667 if (ifsta->assocreq_ies) {
668 len += sprintf(buf + len, "ReqIEs=");
669 for (i = 0; i < ifsta->assocreq_ies_len; i++) {
670 len += sprintf(buf + len, "%02x",
671 ifsta->assocreq_ies[i]);
672 }
673 }
674 if (ifsta->assocresp_ies) {
675 if (ifsta->assocreq_ies)
676 len += sprintf(buf + len, " ");
677 len += sprintf(buf + len, "RespIEs=");
678 for (i = 0; i < ifsta->assocresp_ies_len; i++) {
679 len += sprintf(buf + len, "%02x",
680 ifsta->assocresp_ies[i]);
681 }
682 }
683 len += sprintf(buf + len, ")");
684
685 if (len > IW_CUSTOM_MAX) {
686 len = sprintf(buf, "ASSOCRESPIE=");
687 for (i = 0; i < ifsta->assocresp_ies_len; i++) {
688 len += sprintf(buf + len, "%02x",
689 ifsta->assocresp_ies[i]);
690 }
691 }
692
693 if (len <= IW_CUSTOM_MAX) {
694 memset(&wrqu, 0, sizeof(wrqu));
695 wrqu.data.length = len;
696 wireless_send_event(sdata->dev, IWEVCUSTOM, &wrqu, buf);
697 }
698
699 kfree(buf);