static inline void fill_rx_pool (amb_dev * dev, unsigned char pool, int priority) { 
static inline void fill_rx_pool (amb_dev * dev, unsigned char pool, unsigned int __nocast priority) { 
static inline void fill_rx_pool (amb_dev * dev, unsigned char pool, int priority) {  rx_in rx;  amb_rxq * rxq;    PRINTD (DBG_FLOW|DBG_POOL, "fill_rx_pool %p %hu %x", dev, pool, priority);    if (test_bit (dead, &dev->flags))    return;    rxq = &dev->rxq[pool];  while (rxq->pending < rxq->maximum && rxq->pending < rxq->buffers_wanted) {        struct sk_buff * skb = alloc_skb (rxq->buffer_size, priority);    if (!skb) {      PRINTD (DBG_SKB|DBG_POOL, "failed to allocate skb for RX pool %hu", pool);      return;    }    if (check_area (skb->data, skb->truesize)) {      dev_kfree_skb_any (skb);      return;    }    // cast needed as there is no %? for pointer differences    PRINTD (DBG_SKB, "allocated skb at %p, head %p, area %li",	    skb, skb->head, (long) (skb->end - skb->head));    rx.handle = virt_to_bus (skb);    rx.host_address = cpu_to_be32 (virt_to_bus (skb->data));    if (rx_give (dev, &rx, pool))      dev_kfree_skb_any (skb);      }    return;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/5938a7b580bb7a738ee349048565ac76e6f3f5d7/ambassador.c/buggy/drivers/atm/ambassador.c