add free_chip_name
do not leak match in ChipIterator