diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/scsi/sym53c8xx_2/sym_malloc.c linux-2.5/drivers/scsi/sym53c8xx_2/sym_malloc.c --- bk-linus/drivers/scsi/sym53c8xx_2/sym_malloc.c 2002-11-21 02:18:42.000000000 +0000 +++ linux-2.5/drivers/scsi/sym53c8xx_2/sym_malloc.c 2002-11-21 18:01:07.000000000 +0000 @@ -143,12 +143,15 @@ static void ___sym_mfree(m_pool_p mp, vo a = (m_addr_t) ptr; while (1) { -#ifdef SYM_MEM_FREE_UNUSED if (s == SYM_MEM_CLUSTER_SIZE) { +#ifdef SYM_MEM_FREE_UNUSED M_FREE_MEM_CLUSTER(a); +#else + ((m_link_p) a)->next = h[i].next; + h[i].next = (m_link_p) a; +#endif break; } -#endif b = a ^ s; q = &h[i]; while (q->next && q->next != (m_link_p) b) {