diff options
Diffstat (limited to 'drivers/lightnvm/pblk-init.c')
-rw-r--r-- | drivers/lightnvm/pblk-init.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/drivers/lightnvm/pblk-init.c b/drivers/lightnvm/pblk-init.c index 533f6908e238..7e11926830db 100644 --- a/drivers/lightnvm/pblk-init.c +++ b/drivers/lightnvm/pblk-init.c | |||
@@ -883,15 +883,19 @@ fail: | |||
883 | 883 | ||
884 | static int pblk_writer_init(struct pblk *pblk) | 884 | static int pblk_writer_init(struct pblk *pblk) |
885 | { | 885 | { |
886 | timer_setup(&pblk->wtimer, pblk_write_timer_fn, 0); | ||
887 | mod_timer(&pblk->wtimer, jiffies + msecs_to_jiffies(100)); | ||
888 | |||
889 | pblk->writer_ts = kthread_create(pblk_write_ts, pblk, "pblk-writer-t"); | 886 | pblk->writer_ts = kthread_create(pblk_write_ts, pblk, "pblk-writer-t"); |
890 | if (IS_ERR(pblk->writer_ts)) { | 887 | if (IS_ERR(pblk->writer_ts)) { |
891 | pr_err("pblk: could not allocate writer kthread\n"); | 888 | int err = PTR_ERR(pblk->writer_ts); |
892 | return PTR_ERR(pblk->writer_ts); | 889 | |
890 | if (err != -EINTR) | ||
891 | pr_err("pblk: could not allocate writer kthread (%d)\n", | ||
892 | err); | ||
893 | return err; | ||
893 | } | 894 | } |
894 | 895 | ||
896 | timer_setup(&pblk->wtimer, pblk_write_timer_fn, 0); | ||
897 | mod_timer(&pblk->wtimer, jiffies + msecs_to_jiffies(100)); | ||
898 | |||
895 | return 0; | 899 | return 0; |
896 | } | 900 | } |
897 | 901 | ||
@@ -1042,7 +1046,8 @@ static void *pblk_init(struct nvm_tgt_dev *dev, struct gendisk *tdisk, | |||
1042 | 1046 | ||
1043 | ret = pblk_writer_init(pblk); | 1047 | ret = pblk_writer_init(pblk); |
1044 | if (ret) { | 1048 | if (ret) { |
1045 | pr_err("pblk: could not initialize write thread\n"); | 1049 | if (ret != -EINTR) |
1050 | pr_err("pblk: could not initialize write thread\n"); | ||
1046 | goto fail_free_lines; | 1051 | goto fail_free_lines; |
1047 | } | 1052 | } |
1048 | 1053 | ||