depending on how the QP trie is traversed during a lookup, it is possible for a search to terminate on a leaf which is a partial match, without that leaf being added to the chain. to ensure the chain is correct in this case, when a partial match condition is detected via qpkey_compare(), we will call add_link() again, just in case. (add_link() will check for a duplicated node, so it will be harmless if it was already done.)