free_irq(tp->pdev->irq, dev);
 
        err = request_irq(tp->pdev->irq, tg3_test_isr,
-                         SA_SHIRQ, dev->name, dev);
+                         SA_SHIRQ | SA_SAMPLE_RANDOM, dev->name, dev);
        if (err)
                return err;
 
        
        if (tp->tg3_flags2 & TG3_FLG2_USING_MSI)
                err = request_irq(tp->pdev->irq, tg3_msi,
-                                 0, dev->name, dev);
+                                 SA_SAMPLE_RANDOM, dev->name, dev);
        else
                err = request_irq(tp->pdev->irq, tg3_interrupt,
-                                 SA_SHIRQ, dev->name, dev);
+                                 SA_SHIRQ | SA_SAMPLE_RANDOM, dev->name, dev);
 
        if (err)
                return err;
        tp->tg3_flags2 &= ~TG3_FLG2_USING_MSI;
 
        err = request_irq(tp->pdev->irq, tg3_interrupt,
-                         SA_SHIRQ, dev->name, dev);
+                         SA_SHIRQ | SA_SAMPLE_RANDOM, dev->name, dev);
 
        if (err)
                return err;
        }
        if (tp->tg3_flags2 & TG3_FLG2_USING_MSI)
                err = request_irq(tp->pdev->irq, tg3_msi,
-                                 0, dev->name, dev);
+                                 SA_SAMPLE_RANDOM, dev->name, dev);
        else
                err = request_irq(tp->pdev->irq, tg3_interrupt,
-                                 SA_SHIRQ, dev->name, dev);
+                                 SA_SHIRQ | SA_SAMPLE_RANDOM, dev->name, dev);
 
        if (err) {
                if (tp->tg3_flags2 & TG3_FLG2_USING_MSI) {