DragonFly BSD
DragonFly commits List (threaded) for 2005-09
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

cvs commit: src/sys/dev/netif/xl if_xl.c if_xlreg.h

From: Sepherosa Ziehau <sephe@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 26 Sep 2005 19:41:29 -0700 (PDT)

sephe       2005/09/26 19:41:29 PDT

DragonFly src repository

  Modified files:
    sys/dev/netif/xl     if_xl.c if_xlreg.h 
  - Factor out xl_dma_alloc() from xl_attach()
  - Factor out xl_dma_free() from xl_detach()
  - Allocate and deallocate RX/TX descriptor DMA map during device's attaching
    and detaching (i.e. in xl_dma_{alloc, free}()), instead of in xl_stop() and
    xl_list_{rx, tx}_init*().  This brings us:
    1) xl_init()'s failure chance is reduced
    2) In the original code, xl_stop() would destroy TX descriptor DMA map if
       xl_chain.xl_mbuf != NULL, but normally TX descriptor's xl_chain.xl_mbuf
       *is* NULL.  So "ifconfig xl0 down; ifconfig xl0 up" or xl_detach()
       promised TX descriptor DMA map leakage, which is fixed now
  - After the above change, xl_list_tx_init*() will not fail, so do not return
    `int' from them.  Adjust their caller accordingly
  - Add comment for xl_chain.xl_prev
  - Minor style changes
  Revision  Changes    Path
  1.35      +209 -151  src/sys/dev/netif/xl/if_xl.c
  1.8       +1 -1      src/sys/dev/netif/xl/if_xlreg.h


[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]