If you happen to know the size (= no. of nodes) in the linked list), why not:
1) Make one pre-pass thru the list, initalizing corresponding slots of an
"index vector" to the addresses of the nodes; then:
2) use quicksort thru the index vector to sort the list?
For a list of n > 2 nodes, expected performance will be O(n lg n).