Lines Matching refs:cis
342 u8 *cis; in prism2_plx_check_cis() local
347 cis = kmalloc(CIS_MAX_LEN, GFP_KERNEL); in prism2_plx_check_cis()
348 if (cis == NULL) in prism2_plx_check_cis()
353 cis[i] = readb(attr_mem + 2 * i); in prism2_plx_check_cis()
354 printk(KERN_DEBUG "%s: CIS: %6ph ...\n", dev_info, cis); in prism2_plx_check_cis()
363 while (pos < CIS_MAX_LEN - 1 && cis[pos] != CISTPL_END) { in prism2_plx_check_cis()
364 if (pos + 2 + cis[pos + 1] > CIS_MAX_LEN) in prism2_plx_check_cis()
367 switch (cis[pos]) { in prism2_plx_check_cis()
369 if (cis[pos + 1] < 2) in prism2_plx_check_cis()
371 rmsz = (cis[pos + 2] & 0x3c) >> 2; in prism2_plx_check_cis()
372 rasz = cis[pos + 2] & 0x03; in prism2_plx_check_cis()
373 if (4 + rasz + rmsz > cis[pos + 1]) in prism2_plx_check_cis()
375 *cor_index = cis[pos + 3] & 0x3F; in prism2_plx_check_cis()
378 *cor_offset += cis[pos + 4 + i] << (8 * i); in prism2_plx_check_cis()
385 kfree(cis); in prism2_plx_check_cis()
391 if (cis[pos + 1] < 4) in prism2_plx_check_cis()
393 manfid1 = cis[pos + 2] + (cis[pos + 3] << 8); in prism2_plx_check_cis()
394 manfid2 = cis[pos + 4] + (cis[pos + 5] << 8); in prism2_plx_check_cis()
400 pos += cis[pos + 1] + 2; in prism2_plx_check_cis()
403 if (pos >= CIS_MAX_LEN || cis[pos] != CISTPL_END) in prism2_plx_check_cis()
408 kfree(cis); in prism2_plx_check_cis()
420 kfree(cis); in prism2_plx_check_cis()