In Slackware 12 the default kernel is vmlinuz-huge-smp-2.6.21.5-smp, which works well except it doesn't have a module built in that's required for ACPI sleep. I won't explain why cause honestly I don't understand myself - basically the reason is the 'smp' in that kernel.

If you only have one single core processor, this is easy to fix. The process is very similar to updating the kernel from 2.4 to 2.6 in previous Slackware versions.

Go into /boot and, as root, do the following sequence of commands:
ln -sf vmlinuz-generic-2.6.21.5 vmlinuz
ln -sf config-generic-2.6.21.5 config
ln -sf System.map-generic-2.6.21.5 System.map
mkinitrd -c -k 2.6.21.5 -m reiserfs

You can use System.map-huge-2.6.21.5 instead of vmlinuz-generic-2.6.21.5 if you like, and then you won't need to do the mkinitrd part.

If you do just copy paste those commands, you have to edit /etc/lilo.conf and add the line initrd = /boot/initrd.gz to your boot settings, so it looks like this:
image = /boot/vmlinuz
  initrd = /boot/initrd.gz
  root = /dev/hda1
  label = Slackware
  read-only  # Partitions should be mounted read-only for checking
  append="acpi_sleep=s3_bios"

Other than that Slackware 12 is pretty much the same as the previous versions. The differences good to know are: you no longer need to rmmod uhci_hcd when going to sleep, you don't need to echo 1 > /proc/acpi/sleep when closing the lid, and the sound works out of the box.

Enjoy.