The patch below modifies skb_unlink() to not use skb->link anymore. skb_unlink() appears in the Rx path (zatm.c::poll_rx()). The Rx skb pool is managed in zatm.c::refill_pool(): the single alloc_skb() of the whole driver and its associated skb_queue_tail appear in zatm.c::refill_pool().
Compilation issues the same warning before and after the patch. Signed-off-by: Francois Romieu <[EMAIL PROTECTED]> diff -puN drivers/atm/zatm.c~atm-000 drivers/atm/zatm.c --- linux-2.6.13-rc2-gitXX/drivers/atm/zatm.c~atm-000 2005-07-14 19:20:47.394267009 +0200 +++ linux-2.6.13-rc2-gitXX-fr/drivers/atm/zatm.c 2005-07-14 19:20:47.431260921 +0200 @@ -417,10 +417,13 @@ printk("dummy: 0x%08lx, 0x%08lx\n",dummy chan = (here[3] & uPD98401_AAL5_CHAN) >> uPD98401_AAL5_CHAN_SHIFT; if (chan < zatm_dev->chans && zatm_dev->rx_map[chan]) { + int pos; + vcc = zatm_dev->rx_map[chan]; - if (skb == zatm_dev->last_free[ZATM_VCC(vcc)->pool]) - zatm_dev->last_free[ZATM_VCC(vcc)->pool] = NULL; - skb_unlink(skb); + pos = ZATM_VCC(vcc)->pool; + if (skb == zatm_dev->last_free[pos]) + zatm_dev->last_free[pos] = NULL; + skb_unlink(skb, zatm_dev->pool + pos); } else { printk(KERN_ERR DEV_LABEL "(itf %d): RX indication " _ - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html