You don't need to get any data off of it, do you? If not, just boot off of something else and then use any tool that can zero out the whole drive. Without knowing more about what the SMART error code was, I'm guessing it's the problem I run into the most, which is that there are failing sectors. Modern drives usually map out bad blocks directly themselves, invisibly to the host system. But they usually only do it on write. If you force every sector to get written to, you'll give the drive a chance to map out the bad sectors.
Then format the drive however you want, and pre-install whatever OS you're going to sell it with.
Hmm. As I was writing this, I realized that most of the time I see bad blocks on a drive, it doesn't show up as a SMART failure. So your drive could well have a different problem. You should probably use a tool that can tell you the exact SMART error code (I don't have one to recommend -- hopefully someone else will speak up), and see what you can learn from that.