diff options
author | Christoph Hellwig <hch@lst.de> | 2014-10-30 06:54:58 -0400 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2014-11-12 05:19:40 -0500 |
commit | 609aa22f3be76d470a334f39cc2197112dc91bd7 (patch) | |
tree | 710daebfe903df387a3b4a9927badde84620bdc9 | |
parent | 125c99bc8b6b108d251169a86324a7ed3c6f3cce (diff) |
scsi: remove ordered_tags scsi_device field
Remove the ordered_tags field, we haven't been issuing ordered tags based
on it since the big barrier rework in 2010.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r-- | drivers/message/fusion/mptscsih.c | 5 | ||||
-rw-r--r-- | drivers/scsi/bfa/bfad_im.c | 11 | ||||
-rw-r--r-- | drivers/scsi/mpt2sas/mpt2sas_scsih.c | 16 | ||||
-rw-r--r-- | drivers/scsi/mpt3sas/mpt3sas_scsih.c | 15 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 5 | ||||
-rw-r--r-- | drivers/scsi/scsi.c | 13 | ||||
-rw-r--r-- | drivers/scsi/scsi_sysfs.c | 13 | ||||
-rw-r--r-- | drivers/scsi/vmw_pvscsi.c | 4 | ||||
-rw-r--r-- | drivers/target/loopback/tcm_loop.c | 14 | ||||
-rw-r--r-- | include/scsi/scsi_device.h | 1 | ||||
-rw-r--r-- | include/scsi/scsi_tcq.h | 9 |
11 files changed, 25 insertions, 81 deletions
diff --git a/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c index e7dcb2583369..00bd13dc3dc4 100644 --- a/drivers/message/fusion/mptscsih.c +++ b/drivers/message/fusion/mptscsih.c | |||
@@ -2400,9 +2400,8 @@ mptscsih_slave_configure(struct scsi_device *sdev) | |||
2400 | mptscsih_change_queue_depth(sdev, MPT_SCSI_CMD_PER_DEV_HIGH, | 2400 | mptscsih_change_queue_depth(sdev, MPT_SCSI_CMD_PER_DEV_HIGH, |
2401 | SCSI_QDEPTH_DEFAULT); | 2401 | SCSI_QDEPTH_DEFAULT); |
2402 | dsprintk(ioc, printk(MYIOC_s_DEBUG_FMT | 2402 | dsprintk(ioc, printk(MYIOC_s_DEBUG_FMT |
2403 | "tagged %d, simple %d, ordered %d\n", | 2403 | "tagged %d, simple %d\n", |
2404 | ioc->name,sdev->tagged_supported, sdev->simple_tags, | 2404 | ioc->name,sdev->tagged_supported, sdev->simple_tags)); |
2405 | sdev->ordered_tags)); | ||
2406 | 2405 | ||
2407 | blk_queue_dma_alignment (sdev->request_queue, 512 - 1); | 2406 | blk_queue_dma_alignment (sdev->request_queue, 512 - 1); |
2408 | 2407 | ||
diff --git a/drivers/scsi/bfa/bfad_im.c b/drivers/scsi/bfa/bfad_im.c index f067332bf763..99280e89c289 100644 --- a/drivers/scsi/bfa/bfad_im.c +++ b/drivers/scsi/bfa/bfad_im.c | |||
@@ -868,14 +868,9 @@ bfad_ramp_up_qdepth(struct bfad_itnim_s *itnim, struct scsi_device *sdev) | |||
868 | if (bfa_lun_queue_depth > tmp_sdev->queue_depth) { | 868 | if (bfa_lun_queue_depth > tmp_sdev->queue_depth) { |
869 | if (tmp_sdev->id != sdev->id) | 869 | if (tmp_sdev->id != sdev->id) |
870 | continue; | 870 | continue; |
871 | if (tmp_sdev->ordered_tags) | 871 | scsi_adjust_queue_depth(tmp_sdev, |
872 | scsi_adjust_queue_depth(tmp_sdev, | 872 | MSG_SIMPLE_TAG, |
873 | MSG_ORDERED_TAG, | 873 | tmp_sdev->queue_depth + 1); |
874 | tmp_sdev->queue_depth + 1); | ||
875 | else | ||
876 | scsi_adjust_queue_depth(tmp_sdev, | ||
877 | MSG_SIMPLE_TAG, | ||
878 | tmp_sdev->queue_depth + 1); | ||
879 | 874 | ||
880 | itnim->last_ramp_up_time = jiffies; | 875 | itnim->last_ramp_up_time = jiffies; |
881 | } | 876 | } |
diff --git a/drivers/scsi/mpt2sas/mpt2sas_scsih.c b/drivers/scsi/mpt2sas/mpt2sas_scsih.c index ec36b91c880f..69dc166b52bc 100644 --- a/drivers/scsi/mpt2sas/mpt2sas_scsih.c +++ b/drivers/scsi/mpt2sas/mpt2sas_scsih.c | |||
@@ -1246,9 +1246,9 @@ _scsih_change_queue_depth(struct scsi_device *sdev, int qdepth, int reason) | |||
1246 | 1246 | ||
1247 | if (sdev->inquiry_len > 7) | 1247 | if (sdev->inquiry_len > 7) |
1248 | sdev_printk(KERN_INFO, sdev, "qdepth(%d), tagged(%d), " | 1248 | sdev_printk(KERN_INFO, sdev, "qdepth(%d), tagged(%d), " |
1249 | "simple(%d), ordered(%d), scsi_level(%d), cmd_que(%d)\n", | 1249 | "simple(%d), scsi_level(%d), cmd_que(%d)\n", |
1250 | sdev->queue_depth, sdev->tagged_supported, sdev->simple_tags, | 1250 | sdev->queue_depth, sdev->tagged_supported, sdev->simple_tags, |
1251 | sdev->ordered_tags, sdev->scsi_level, | 1251 | sdev->scsi_level, |
1252 | (sdev->inquiry[7] & 2) >> 1); | 1252 | (sdev->inquiry[7] & 2) >> 1); |
1253 | 1253 | ||
1254 | return sdev->queue_depth; | 1254 | return sdev->queue_depth; |
@@ -3944,16 +3944,8 @@ _scsih_qcmd(struct Scsi_Host *shost, struct scsi_cmnd *scmd) | |||
3944 | mpi_control = MPI2_SCSIIO_CONTROL_NODATATRANSFER; | 3944 | mpi_control = MPI2_SCSIIO_CONTROL_NODATATRANSFER; |
3945 | 3945 | ||
3946 | /* set tags */ | 3946 | /* set tags */ |
3947 | if (!(sas_device_priv_data->flags & MPT_DEVICE_FLAGS_INIT)) { | 3947 | mpi_control |= MPI2_SCSIIO_CONTROL_SIMPLEQ; |
3948 | if (scmd->device->tagged_supported) { | 3948 | |
3949 | if (scmd->device->ordered_tags) | ||
3950 | mpi_control |= MPI2_SCSIIO_CONTROL_ORDEREDQ; | ||
3951 | else | ||
3952 | mpi_control |= MPI2_SCSIIO_CONTROL_SIMPLEQ; | ||
3953 | } else | ||
3954 | mpi_control |= MPI2_SCSIIO_CONTROL_SIMPLEQ; | ||
3955 | } else | ||
3956 | mpi_control |= MPI2_SCSIIO_CONTROL_SIMPLEQ; | ||
3957 | /* Make sure Device is not raid volume. | 3949 | /* Make sure Device is not raid volume. |
3958 | * We do not expose raid functionality to upper layer for warpdrive. | 3950 | * We do not expose raid functionality to upper layer for warpdrive. |
3959 | */ | 3951 | */ |
diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c index 52464ace282b..d3abf254341d 100644 --- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c +++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c | |||
@@ -1114,9 +1114,9 @@ _scsih_change_queue_depth(struct scsi_device *sdev, int qdepth, int reason) | |||
1114 | 1114 | ||
1115 | if (sdev->inquiry_len > 7) | 1115 | if (sdev->inquiry_len > 7) |
1116 | sdev_printk(KERN_INFO, sdev, "qdepth(%d), tagged(%d), " \ | 1116 | sdev_printk(KERN_INFO, sdev, "qdepth(%d), tagged(%d), " \ |
1117 | "simple(%d), ordered(%d), scsi_level(%d), cmd_que(%d)\n", | 1117 | "simple(%d), scsi_level(%d), cmd_que(%d)\n", |
1118 | sdev->queue_depth, sdev->tagged_supported, sdev->simple_tags, | 1118 | sdev->queue_depth, sdev->tagged_supported, sdev->simple_tags, |
1119 | sdev->ordered_tags, sdev->scsi_level, | 1119 | sdev->scsi_level, |
1120 | (sdev->inquiry[7] & 2) >> 1); | 1120 | (sdev->inquiry[7] & 2) >> 1); |
1121 | 1121 | ||
1122 | return sdev->queue_depth; | 1122 | return sdev->queue_depth; |
@@ -3563,16 +3563,7 @@ _scsih_qcmd(struct Scsi_Host *shost, struct scsi_cmnd *scmd) | |||
3563 | mpi_control = MPI2_SCSIIO_CONTROL_NODATATRANSFER; | 3563 | mpi_control = MPI2_SCSIIO_CONTROL_NODATATRANSFER; |
3564 | 3564 | ||
3565 | /* set tags */ | 3565 | /* set tags */ |
3566 | if (!(sas_device_priv_data->flags & MPT_DEVICE_FLAGS_INIT)) { | 3566 | mpi_control |= MPI2_SCSIIO_CONTROL_SIMPLEQ; |
3567 | if (scmd->device->tagged_supported) { | ||
3568 | if (scmd->device->ordered_tags) | ||
3569 | mpi_control |= MPI2_SCSIIO_CONTROL_ORDEREDQ; | ||
3570 | else | ||
3571 | mpi_control |= MPI2_SCSIIO_CONTROL_SIMPLEQ; | ||
3572 | } else | ||
3573 | mpi_control |= MPI2_SCSIIO_CONTROL_SIMPLEQ; | ||
3574 | } else | ||
3575 | mpi_control |= MPI2_SCSIIO_CONTROL_SIMPLEQ; | ||
3576 | 3567 | ||
3577 | if ((sas_device_priv_data->flags & MPT_DEVICE_TLR_ON) && | 3568 | if ((sas_device_priv_data->flags & MPT_DEVICE_TLR_ON) && |
3578 | scmd->cmd_len != 32) | 3569 | scmd->cmd_len != 32) |
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 5e755747e073..1e34fcf68e77 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c | |||
@@ -1442,10 +1442,7 @@ static void qla2x00_adjust_sdev_qdepth_up(struct scsi_device *sdev, int qdepth) | |||
1442 | if (req->max_q_depth <= sdev->queue_depth || req->max_q_depth < qdepth) | 1442 | if (req->max_q_depth <= sdev->queue_depth || req->max_q_depth < qdepth) |
1443 | return; | 1443 | return; |
1444 | 1444 | ||
1445 | if (sdev->ordered_tags) | 1445 | scsi_adjust_queue_depth(sdev, MSG_SIMPLE_TAG, qdepth); |
1446 | scsi_adjust_queue_depth(sdev, MSG_ORDERED_TAG, qdepth); | ||
1447 | else | ||
1448 | scsi_adjust_queue_depth(sdev, MSG_SIMPLE_TAG, qdepth); | ||
1449 | 1446 | ||
1450 | ql_dbg(ql_dbg_io, vha, 0x302a, | 1447 | ql_dbg(ql_dbg_io, vha, 0x302a, |
1451 | "Queue depth adjusted-up to %d for nexus=%ld:%d:%llu.\n", | 1448 | "Queue depth adjusted-up to %d for nexus=%ld:%d:%llu.\n", |
diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index 9baeff03dd9b..22c449e926fa 100644 --- a/drivers/scsi/scsi.c +++ b/drivers/scsi/scsi.c | |||
@@ -789,19 +789,13 @@ void scsi_adjust_queue_depth(struct scsi_device *sdev, int tagged, int tags) | |||
789 | sdev->queue_depth = tags; | 789 | sdev->queue_depth = tags; |
790 | switch (tagged) { | 790 | switch (tagged) { |
791 | case 0: | 791 | case 0: |
792 | sdev->ordered_tags = 0; | ||
793 | sdev->simple_tags = 0; | 792 | sdev->simple_tags = 0; |
794 | break; | 793 | break; |
795 | case MSG_ORDERED_TAG: | 794 | case MSG_ORDERED_TAG: |
796 | sdev->ordered_tags = 1; | ||
797 | sdev->simple_tags = 1; | ||
798 | break; | ||
799 | case MSG_SIMPLE_TAG: | 795 | case MSG_SIMPLE_TAG: |
800 | sdev->ordered_tags = 0; | ||
801 | sdev->simple_tags = 1; | 796 | sdev->simple_tags = 1; |
802 | break; | 797 | break; |
803 | default: | 798 | default: |
804 | sdev->ordered_tags = 0; | ||
805 | sdev->simple_tags = 0; | 799 | sdev->simple_tags = 0; |
806 | sdev_printk(KERN_WARNING, sdev, | 800 | sdev_printk(KERN_WARNING, sdev, |
807 | "scsi_adjust_queue_depth, bad queue type, " | 801 | "scsi_adjust_queue_depth, bad queue type, " |
@@ -857,11 +851,8 @@ int scsi_track_queue_full(struct scsi_device *sdev, int depth) | |||
857 | scsi_adjust_queue_depth(sdev, 0, sdev->host->cmd_per_lun); | 851 | scsi_adjust_queue_depth(sdev, 0, sdev->host->cmd_per_lun); |
858 | return -1; | 852 | return -1; |
859 | } | 853 | } |
860 | 854 | ||
861 | if (sdev->ordered_tags) | 855 | scsi_adjust_queue_depth(sdev, MSG_SIMPLE_TAG, depth); |
862 | scsi_adjust_queue_depth(sdev, MSG_ORDERED_TAG, depth); | ||
863 | else | ||
864 | scsi_adjust_queue_depth(sdev, MSG_SIMPLE_TAG, depth); | ||
865 | return depth; | 856 | return depth; |
866 | } | 857 | } |
867 | EXPORT_SYMBOL(scsi_track_queue_full); | 858 | EXPORT_SYMBOL(scsi_track_queue_full); |
diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c index f4cb7b3e9e23..35d93b0af82b 100644 --- a/drivers/scsi/scsi_sysfs.c +++ b/drivers/scsi/scsi_sysfs.c | |||
@@ -727,9 +727,7 @@ show_queue_type_field(struct device *dev, struct device_attribute *attr, | |||
727 | struct scsi_device *sdev = to_scsi_device(dev); | 727 | struct scsi_device *sdev = to_scsi_device(dev); |
728 | const char *name = "none"; | 728 | const char *name = "none"; |
729 | 729 | ||
730 | if (sdev->ordered_tags) | 730 | if (sdev->simple_tags) |
731 | name = "ordered"; | ||
732 | else if (sdev->simple_tags) | ||
733 | name = "simple"; | 731 | name = "simple"; |
734 | 732 | ||
735 | return snprintf(buf, 20, "%s\n", name); | 733 | return snprintf(buf, 20, "%s\n", name); |
@@ -747,9 +745,12 @@ store_queue_type_field(struct device *dev, struct device_attribute *attr, | |||
747 | if (!sdev->tagged_supported || !sht->change_queue_type) | 745 | if (!sdev->tagged_supported || !sht->change_queue_type) |
748 | return -EINVAL; | 746 | return -EINVAL; |
749 | 747 | ||
750 | if (strncmp(buf, "ordered", 7) == 0) | 748 | /* |
751 | tag_type = MSG_ORDERED_TAG; | 749 | * We're never issueing order tags these days, but allow the value |
752 | else if (strncmp(buf, "simple", 6) == 0) | 750 | * for backwards compatibility. |
751 | */ | ||
752 | if (strncmp(buf, "ordered", 7) == 0 || | ||
753 | strncmp(buf, "simple", 6) == 0) | ||
753 | tag_type = MSG_SIMPLE_TAG; | 754 | tag_type = MSG_SIMPLE_TAG; |
754 | else if (strncmp(buf, "none", 4) != 0) | 755 | else if (strncmp(buf, "none", 4) != 0) |
755 | return -EINVAL; | 756 | return -EINVAL; |
diff --git a/drivers/scsi/vmw_pvscsi.c b/drivers/scsi/vmw_pvscsi.c index 598f65efaaec..53a3eb6c0634 100644 --- a/drivers/scsi/vmw_pvscsi.c +++ b/drivers/scsi/vmw_pvscsi.c | |||
@@ -526,9 +526,9 @@ static int pvscsi_change_queue_depth(struct scsi_device *sdev, | |||
526 | 526 | ||
527 | if (sdev->inquiry_len > 7) | 527 | if (sdev->inquiry_len > 7) |
528 | sdev_printk(KERN_INFO, sdev, | 528 | sdev_printk(KERN_INFO, sdev, |
529 | "qdepth(%d), tagged(%d), simple(%d), ordered(%d), scsi_level(%d), cmd_que(%d)\n", | 529 | "qdepth(%d), tagged(%d), simple(%d), scsi_level(%d), cmd_que(%d)\n", |
530 | sdev->queue_depth, sdev->tagged_supported, | 530 | sdev->queue_depth, sdev->tagged_supported, |
531 | sdev->simple_tags, sdev->ordered_tags, | 531 | sdev->simple_tags, |
532 | sdev->scsi_level, (sdev->inquiry[7] & 2) >> 1); | 532 | sdev->scsi_level, (sdev->inquiry[7] & 2) >> 1); |
533 | return sdev->queue_depth; | 533 | return sdev->queue_depth; |
534 | } | 534 | } |
diff --git a/drivers/target/loopback/tcm_loop.c b/drivers/target/loopback/tcm_loop.c index 3b9c76835b45..e30932f989a1 100644 --- a/drivers/target/loopback/tcm_loop.c +++ b/drivers/target/loopback/tcm_loop.c | |||
@@ -135,18 +135,6 @@ static int tcm_loop_change_queue_depth( | |||
135 | return sdev->queue_depth; | 135 | return sdev->queue_depth; |
136 | } | 136 | } |
137 | 137 | ||
138 | /* | ||
139 | * Locate the SAM Task Attr from struct scsi_cmnd * | ||
140 | */ | ||
141 | static int tcm_loop_sam_attr(struct scsi_cmnd *sc, int tag) | ||
142 | { | ||
143 | if (sc->device->tagged_supported && | ||
144 | sc->device->ordered_tags && tag >= 0) | ||
145 | return MSG_ORDERED_TAG; | ||
146 | |||
147 | return MSG_SIMPLE_TAG; | ||
148 | } | ||
149 | |||
150 | static void tcm_loop_submission_work(struct work_struct *work) | 138 | static void tcm_loop_submission_work(struct work_struct *work) |
151 | { | 139 | { |
152 | struct tcm_loop_cmd *tl_cmd = | 140 | struct tcm_loop_cmd *tl_cmd = |
@@ -205,7 +193,7 @@ static void tcm_loop_submission_work(struct work_struct *work) | |||
205 | 193 | ||
206 | rc = target_submit_cmd_map_sgls(se_cmd, tl_nexus->se_sess, sc->cmnd, | 194 | rc = target_submit_cmd_map_sgls(se_cmd, tl_nexus->se_sess, sc->cmnd, |
207 | &tl_cmd->tl_sense_buf[0], tl_cmd->sc->device->lun, | 195 | &tl_cmd->tl_sense_buf[0], tl_cmd->sc->device->lun, |
208 | transfer_length, tcm_loop_sam_attr(sc, tl_cmd->sc_cmd_tag), | 196 | transfer_length, MSG_SIMPLE_TAG, |
209 | sc->sc_data_direction, 0, | 197 | sc->sc_data_direction, 0, |
210 | scsi_sglist(sc), scsi_sg_count(sc), | 198 | scsi_sglist(sc), scsi_sg_count(sc), |
211 | sgl_bidi, sgl_bidi_count, | 199 | sgl_bidi, sgl_bidi_count, |
diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h index 50d47e6e89d1..e8fecb5ea79a 100644 --- a/include/scsi/scsi_device.h +++ b/include/scsi/scsi_device.h | |||
@@ -141,7 +141,6 @@ struct scsi_device { | |||
141 | unsigned ppr:1; /* Device supports PPR messages */ | 141 | unsigned ppr:1; /* Device supports PPR messages */ |
142 | unsigned tagged_supported:1; /* Supports SCSI-II tagged queuing */ | 142 | unsigned tagged_supported:1; /* Supports SCSI-II tagged queuing */ |
143 | unsigned simple_tags:1; /* simple queue tag messages are enabled */ | 143 | unsigned simple_tags:1; /* simple queue tag messages are enabled */ |
144 | unsigned ordered_tags:1;/* ordered queue tag messages are enabled */ | ||
145 | unsigned was_reset:1; /* There was a bus reset on the bus for | 144 | unsigned was_reset:1; /* There was a bus reset on the bus for |
146 | * this device */ | 145 | * this device */ |
147 | unsigned expecting_cc_ua:1; /* Expecting a CHECK_CONDITION/UNIT_ATTN | 146 | unsigned expecting_cc_ua:1; /* Expecting a CHECK_CONDITION/UNIT_ATTN |
diff --git a/include/scsi/scsi_tcq.h b/include/scsi/scsi_tcq.h index 032df74b66d7..342f38c5b065 100644 --- a/include/scsi/scsi_tcq.h +++ b/include/scsi/scsi_tcq.h | |||
@@ -21,17 +21,11 @@ int scsi_change_queue_type(struct scsi_device *sdev, int tag_type); | |||
21 | /** | 21 | /** |
22 | * scsi_get_tag_type - get the type of tag the device supports | 22 | * scsi_get_tag_type - get the type of tag the device supports |
23 | * @sdev: the scsi device | 23 | * @sdev: the scsi device |
24 | * | ||
25 | * Notes: | ||
26 | * If the drive only supports simple tags, returns MSG_SIMPLE_TAG | ||
27 | * if it supports all tag types, returns MSG_ORDERED_TAG. | ||
28 | */ | 24 | */ |
29 | static inline int scsi_get_tag_type(struct scsi_device *sdev) | 25 | static inline int scsi_get_tag_type(struct scsi_device *sdev) |
30 | { | 26 | { |
31 | if (!sdev->tagged_supported) | 27 | if (!sdev->tagged_supported) |
32 | return 0; | 28 | return 0; |
33 | if (sdev->ordered_tags) | ||
34 | return MSG_ORDERED_TAG; | ||
35 | if (sdev->simple_tags) | 29 | if (sdev->simple_tags) |
36 | return MSG_SIMPLE_TAG; | 30 | return MSG_SIMPLE_TAG; |
37 | return 0; | 31 | return 0; |
@@ -41,15 +35,12 @@ static inline void scsi_set_tag_type(struct scsi_device *sdev, int tag) | |||
41 | { | 35 | { |
42 | switch (tag) { | 36 | switch (tag) { |
43 | case MSG_ORDERED_TAG: | 37 | case MSG_ORDERED_TAG: |
44 | sdev->ordered_tags = 1; | ||
45 | /* fall through */ | ||
46 | case MSG_SIMPLE_TAG: | 38 | case MSG_SIMPLE_TAG: |
47 | sdev->simple_tags = 1; | 39 | sdev->simple_tags = 1; |
48 | break; | 40 | break; |
49 | case 0: | 41 | case 0: |
50 | /* fall through */ | 42 | /* fall through */ |
51 | default: | 43 | default: |
52 | sdev->ordered_tags = 0; | ||
53 | sdev->simple_tags = 0; | 44 | sdev->simple_tags = 0; |
54 | break; | 45 | break; |
55 | } | 46 | } |